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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση παράλληλων προγραμμάτων 9 ο Εξάμηνο

2 Σύνοψη παρουσίασης Παράλληλες υπολογιστικές πλατφόρμες PRAM: Η ιδανική παράλληλη πλατφόρμα Η ταξινόμηση του Flynn Συστήματα κοινής μνήμης Συστήματα κατανεμημένης μνήμης Ανάλυση παράλληλων προγραμμάτων Μετρικές αξιολόγησης επίδοσης Ο νόμος του Amdahl Μοντελοποίηση παράλληλων προγραμμάτων Σχεδίαση παράλληλων προγραμμάτων Κατανομή υπολογισμών και δεδομένων Σχεδιασμός αλληλεπίδρασης ανάμεσα στα tasks Απεικόνιση των tasks σε διεργασίες (ή threads) Ενορχήστρωση της επικοινωνίας ή/και του συγχρονισμού 2

3 PRAM: Η ιδανική παράλληλη μηχανή Η θεωρητική ανάλυση και αξιολόγηση σειριακών αλγορίθμων βασίζεται στη χρήση ενός υπολογιστικού μοντέλου: Random Access Machine (RAM) Turing machine Γιατί να μην κάνουμε το ίδιο και για τους παράλληλους αλγόριθμους; Ας ορίσουμε μια παράλληλη υπολογιστική μηχανή που θα μας βοηθάει να αναλύουμε και να συγκρίνουμε παράλληλους αλγορίθμους: PRAM: Parallel Random Access Machine n υπολογιστικές μονάδες (n όσο μεγάλο απαιτεί το προς επίλυση πρόβλημα) Κοινή μνήμη απεριόριστου μεγέθους Ομοιόμορφη πρόσβαση στη μνήμη από όλους τους επεξεργαστές 3

4 PRAM: Ταυτόχρονη πρόσβαση σε δεδομένα Τι συμβαίνει όταν δύο επεξεργαστές αποπειρώνται να προσπελάσουν την ίδια θέση μνήμης ταυτόχρονα; 4 διαφορετικές προσεγγίσεις (διαφορετικά μοντέλα): Exclusive Read Exclusive Write (EREW): Κάθε θέση μνήμης μπορείς να αναγνωστεί/εγγραφεί από μόνο έναν επεξεργαστή (σε μια δεδομένη χρονική στιγμή) Αν συμβεί ταυτόχρονη πρόσβαση το πρόγραμμα τερματίζει Πρόκειται για πολύ περιοριστικό μοντέλο Concurrent Read Exclusive Write (CREW): Επιτρέπεται ταυτόχρονη ανάγνωση αλλά όχι εγγραφή Exclusive Read Concurrent Write (ERCW): Δεν παρουσιάζει θεωρητικό ή πρακτικό ενδιαφέρον Concurrent Read Concurrent Write (CRCW) Ισχυρή μηχανή που επιτρέπει ταυτόχρονες αναγνώσεις / εγγραφές Ταυτόχρονες εγγραφές: (common, arbitrary, priority, reduction) 4

5 PRAM: Προβλήματα Η πλατφόρμα PRAM κάνει κάποιες σοβαρές υπεραπλουστεύσεις που την απομακρύνουν από τις πραγματικές μηχανές: Απεριόριστος αριθμός επεξεργαστών (όσους έχει ανάγκη το πρόγραμμα) Απεριόριστο μέγεθος μνήμης Ομοιόμορφος χρόνος πρόσβασης στη μνήμη Για να συνδυαστούν τα παραπάνω απαιτείται ένα τεράστιας πολυπλοκότητας και κόστους δίκτυο διασύνδεσης με διακόπτες Τέτοια δίκτυα διασύνδεσης με την παρούσα τεχνολογία είναι ρεαλιστικά για λίγες δεκάδες επεξεργαστές Η θεωρητική ανάλυση σε ένα μοντέλο PRAM δεν μας δίνει ασφαλή συμπεράσματα για την εκτέλεση σε ένα πραγματικό παράλληλο σύστημα (π.χ. κοινής μνήμης) Το μοντέλο PRAM έχει θεωρητικό ενδιαφέρον και δεν χρησιμοποιείται στην πράξη 5

6 Flynn s taxonomy SISD Single Instruction Single Data SIMD Single Instruction Multiple Data MISD Multiple Instruction Single Data MIMD Multiple Instruction Multiple Data 6

7 Flynn s taxonomy 7

8 Κοινής μνήμης (shared memory) Παράλληλες αρχιτεκτονικές: Οργάνωση μνήμης UMA (Uniform memory access): Χρόνος προσπέλασης ανεξάρτητος του επεξεργαστή και της θέσης μνήμης NUMA (Non-uniform memory access): Χρόνος προσπέλασης εξαρτάται από τον επεξεργαστή και τη θέση μνήμης cc-numa (cache-coherent NUMA): NUMA με συνάφεια κρυφής μνήμης Κατανεμημένης μνήμης (distributed memory) Υβριδική 8

9 Αρχιτεκτονική κοινής μνήμης Οι επεξεργαστές έχουν κοινή μνήμη Κάθε επεξεργαστής διαθέτει τοπική ιεραρχία κρυφών μνημών Συνήθως η διασύνδεση γίνεται μέσω διαδρόμου μνήμης (memory bus) Αλλά και πιο εξελιγμένα δίκτυα διασύνδεσης Ομοιόμορφη ή μη-ομοιόμορφη προσπέλαση στη μνήμη (Uniform Memory Access UMA, Nonuniform Memory Access NUMA) Η κοινή μνήμη διευκολύνει τον παράλληλο προγραμματισμό Δύσκολα κλιμακώσιμη αρχιτεκτονική τυπικά μέχρι λίγες δεκάδες κόμβους (δεν κλιμακώνει το δίκτυο διασύνδεσης) $ CPU $ CPU... $ CPU Διάδρομος Μνήμης (memory bus) M 9

10 SMP vs NUMA Symmetric Multiprocessing (SMP) Uniform Memory Access (UMA) Non-Uniform Memory Access (NUMA) Images taken from: 10

11 Αρχιτεκτονική κατανεμημένης μνήμης Κάθε επεξεργαστής έχει τη δική του τοπική μνήμη και ιεραρχία τοπικών μνημών Διασυνδέεται με τους υπόλοιπους επεξεργαστές μέσω δικτύου διασύνδεσης Η κατανεμημένη μνήμη δυσκολεύει τον προγραμματισμό Η αρχιτεκτονική κλιμακώνει σε χιλιάδες υπολογιστικούς κόμβους Κόμβος 1 Κόμβος 2 Κόμβος Ν $ $ $ CPU CPU... CPU M M M Δίκτυο Διασύνδεσης (π.χ. Ethernet, Myrinet, SCI) 11

12 Υβριδική αρχιτεκτονική Συνδυάζει τις δύο παραπάνω αρχιτεκτονικές: κόμβοι με αρχιτεκτονική κοινής μνήμης διασυνδέονται με ένα δίκτυο διασύνδεσης σε αρχιτεκτονική κατανεμημένης μνήμης Τυπική αρχιτεκτονική των σύγχρονων συστοιχιών-υπερυπολογιστών SMP κόμβος 1 SMP κόμβος 2 SMP κόμβος Ν $ CPU 0 $ $... CPU Κ CPU 0 $ CPU Κ CPU 0 $... $ CPU Κ M M M Δίκτυο Διασύνδεσης (π.χ. Ethernet, Myrinet, SCI) 12

13 Μετρικές αξιολόγησης επίδοσης: Επιτάχυνση (Speedup) Χρόνος καλύτερου σειριακού αλγορίθμου: T s Χρόνος παράλληλου αλγορίθμου: T p Επιτάχυνση (speedup) S = T s / T p Δείχνει πόσες φορές πιο γρήγορο είναι το παράλληλο πρόγραμμα από το σειριακό linear (perfect) speedup σε p επεξεργαστές: p Τυπικά: S p Αν S > p superlinear speedup (πρέπει να το ερμηνεύσουμε προσεκτικά αν προκύψει στις μετρήσεις μας) 13

14 Αποδοτικότητα (efficiency) E = S / p Αποδοτικότητα (efficiency) και κλιμακωσιμότητα (scalability) Δείχνει πόσο επιτυχημένη είναι η παραλληλοποίηση τι ποσοστό του χρόνου κάθε επεξεργαστής κάνει χρήσιμη δουλειά Τυπικά Ε 1 H κλιμακωσιμότητα (scalability) εκφράζει ποιοτικά την ικανότητα ενός προγράμματος (συστήματος) να βελτιώνει την επίδοσή του με την προσθήκη επιπλέον επεξεργαστών (πόρων) Strong scaling: Κρατάμε το συνολικό μέγεθος του προβλήματος σταθερό Weak scaling: Κρατάμε το μέγεθος ανά επεξεργαστή σταθερό 14

15 Ο (αμείλικτος) νόμος του Amdahl Χρόνος καλύτερου σειριακού αλγορίθμου: T s f το κλάσμα του χρόνου ενός σειριακού προγράμματος που δεν παραλληλοποιείται Νόμος του Amdahl: T p S = = ft T T s p s = + f ( 1- f ) + 1 p T s ( 1- f ) p Έστω ότι ένα πρόγραμμα μπορεί να μοιραστεί σε 5 παράλληλες εργασίες εκ των οποίων η μία απαιτεί διπλάσιο χρόνο από τις υπόλοιπες 4 f = 1/6 Αν p = 5 (αναθέτουμε κάθε μία από τις παράλληλες εργασίες σε έναν επεξεργαστή) S = 3, E=0,6 Συνέπειες του νόμου του Amdahl: Παραλληλοποιούμε (και γενικά βελτιστοποιούμε) τμήματα του κώδικα που καταλαμβάνουν το μεγαλύτερο ποσοστό του χρόνου εκτέλεσης Αναζητούμε παραλληλία παντού! (π.χ. 1% σειριακός κώδικας μέγιστο speedup 100!) 15

16 Γιατί δεν κλιμακώνει το πρόγραμμά μου; 1. Δεν έχει παραλληλοποιήθεί το κατάλληλο τμήμα κώδικα (υπάρχει μεγάλο σειριακό κομμάτι, βλ. Νόμος του Amdahl) 2. Υπάρχει ανισοκατανομή φορτίου (load imbalance) 3. Κόστος συγχρονισμού / επικοινωνίας Μπορεί να οδηγήσει ακόμα και σε χειρότερο παράλληλο χρόνο 4. Συμφόρηση στο διάδρομο μνήμης (για αρχιτεκτονικές κοινής μνήμης) 16

17 1 st and 2 nd rule in code optimization Γενικοί κανόνες βελτιστοποίησης κώδικα 17

18 1 st and 2 nd rule in code optimization Γενικοί κανόνες βελτιστοποίησης κώδικα DON T DO IT! Because premature optimization is the root of all evil D. Knuth 18

19 Μοντελοποίηση επίδοσης Η μοντελοποίηση της επίδοσης είναι ιδιαίτερα δύσκολη σε ένα πολύπλοκο σύστημα όπως είναι η εκτέλεση μιας εφαρμογής σε μία παράλληλη πλατφόρμα Θέλουμε το μοντέλο να είναι απλό και ακριβές Συνήθως καθοδηγεί σχεδιαστικές επιλογές (π.χ. συγκρίνει διαφορετικές στρατηγικές) Συχνά αρκεί να έχουμε άνω και κάτω όρια στην επίδοση Ο παράλληλος χρόνος εκτέλεσης καταναλώνεται σε: Χρόνο υπολογισμού (T comp ) Χρόνο επικοινωνίας (T comm ) Άεργο χρόνο (Τ idle ) Παράλληλος χρόνος εκτέλεσης: Τ = T comp + T comm + T idle 19

20 Χρόνος υπολογισμών Κλασικό μοντέλο πρόβλεψης: Τ comp = ops * CPU speed Θεωρεί ότι η CPU μπορεί να τροφοδοτείται με δεδομένα από το υποσύστημα μνήμης Μοντέλο roofline Λαμβάνει υπόψη το υποσύστημα μνήμης Operational intensity (OI σε ops/byte) Τ comp = ops * max (CPU speed, 1/(ΟΙ * memory bandwidth)) Συσχετίζει την εφαρμογή με την αρχιτεκτονική 20

21 Μοντέλο roofline Image taken from 21

22 Χρόνος υπολογισμών Παράδειγμα: LU decomposition for(k = 0; k < N-1; k++) for(i = k+1; i < N; i++){ L[i] = A[i][k] / A[k][k]; for(j = k+1; j < N; j++) A[i][j] = A[i][j] - L[i]*A[j][i]; } Operations = N 3 / 3 πολλαπλασιασμοί, Ν 3 /3 προσθέσεις Μπορούμε να αγνοήσουμε τις προσθέσεις Operational intensity (ops/byte): Μας αφορούν δεδομένα που έρχονται από την κύρια μνήμη (όχι από την cache) Μπορούμε να αγνοήσουμε το διάνυσμα L Μέγεθος Α = 8*Ν 2 (θεωρούμε διπλή ακρίβεια, 8 bytes για κάθε στοιχείο του Α) Αν ο A χωράει στην cache: ΟΙ = (N 3 / 3) / (8*Ν 2 ) = Ν/24 muls/byte Αν ο Α >> cache size: Ας θεωρήσουμε ότι σε κάθε βήμα k ο Α φορτώνεται από τη μνήμη (γιατί δεν είναι τυπικά σωστό αυτό?). ΟΙ = 1/24 muls/byte 22

23 Χρόνος υπολογισμών Παράδειγμα: LU decomposition Έστω επεξεργαστής με: CPU speed 5*10 8 muls/sec ή 2*10-9 sec/mul (500MFlops) Bandwidth διαδρόμου μνήμης: 4GB/sec = 4*10 9 bytes /sec 4MB L2 cache N = 100 (ο Α χωράει στην cache, OI = 4,16 muls/byte) Παραδοσιακό μοντέλο: Τ comp = ops * CPU speed = 0.33*10 6 muls * 2*10-9 sec/mul = 0.66msec Μοντέλο roofline: T comp = ops * min (CPU speed, 1/(ΟΙ * memory bandwidth)) = 0.33*10 6 muls * max (2*10-9 sec/mul, (4,16 muls/byte * 4*10 9 bytes/sec) -1 )= 0.33*10 6 muls * max (2*10-9 sec/mul, 6*10-11 sec/mul) = 0.66msec N = 2000 (ο Α δεν χωράει στην cache, OI = 0,042 muls/byte) Παραδοσιακό μοντέλο: Τ comp = ops * CPU speed = 2.66*10 9 muls * 2 *10-9 sec/mul = 5.33sec Μοντέλο roofline: T comp = ops * max (CPU speed, 1/(ΟΙ * memory bandwidth)) = 2.66*10 9 muls * max (2 *10-9 sec/mul, (0,042 muls/byte* 4 *10 9 bytes /sec) -1 ) = 2.66*10 9 muls * max (2 *10-9 sec/mul, 5,95*10-9 ) = 15.9sec 23

24 Χρόνος επικοινωνίας Χρόνος επικοινωνίας (point to point): Startup time (t s ) Per-hop time (t h ) Per word transfer time (t w ) T comm = t s + lt h + mt w (l = number of hops, m = message size) Το lt h είναι συνήθως μικρό και μπορεί να ενσωματωθεί στο t s, άρα: T comm = t s + mt w Χρόνος επικοινωνίας (broadcast σε P κόμβους) P διαφορετικά μηνύματα T comm = P(t s + mt w ) Δενδρική υλοποίηση: T comm = log 2 P(t s + mt w ) 24

25 Παράδειγμα: Nearest-neighbor communication 2 διάστατο υπολογιστικό χωρίο L 1 * L 2 Κάθε επεξεργαστής επικοινωνεί με τους γειτονικούς του και ανταλλάζει τις οριακές επιφάνειες Ποια τοπολογία επεξεργαστών ελαχιστοποιεί το κόστος επικοινωνίας; 1D 2D 25

26 Παράδειγμα: Nearest-neighbor communication Αριθμός επεξεργαστών: P = 100 1D = 100*1 2D = 10*10 διπλή ακρίβεια (8 bytes) L 1 =10 4, L 2 = 10 3 t s = 6*10-6 sec bandwidth = 500MB/sec t w =1.9*10-9 sec/byte 1D 2D 2 γείτονες, 1 μήνυμα ανά γείτονα, 2 μηνύματα ανά διεργασία Μέγεθος μηνύματος: m=8l 2 = 8*10 3 bytes T comm = t s + mt w = 2 (6*10-6 sec + 8*10 3 bytes * 1.9*10-9 sec/byte) = 42.4usec 4 μηνύματα ανά διεργασία m 1 =8L 1 /10= 8*10 3 bytes, m 2 =8L 2 /10= 8*10 2 bytes T comm = t s + mt w = 4 (6*10-6 sec) + 2(8*10 3 bytes * 1.9*10-9 sec/byte) + 2(8*10 2 bytes * 1.9*10-9 sec/byte) = 24us + 30,4us + 3,04us = 57,4us 26

27 Χρόνος επικοινωνίας (στον πραγματικό κόσμο) Συστήματα μεγάλης κλίμακας με χιλιάδες κόμβους, δεκάδες πυρήνες ανά κόμβο Παράμετροι που επηρεάζουν την επικοινωνία: Μέγεθος μηνύματος διαφορετικό bandwidth για μικρά/μεσαία/μεγάλα μηνύματα Τοπικός ανταγωνισμός στο εσωτερικό του κόμβου για πρόσβαση στο δίκτυο Ανταγωνισμός στο δίκτυο κορμού Μπορεί να οφείλεται και σε άλλες εφαρμογές! Απόσταση μεταξύ των κόμβων που επικοινωνούν Εξαρτάται από τη διάθεση κόμβων από τον scheduler του συστήματος 27

28 Ο άεργος χρόνος μπορεί να μοντελοποιηθεί δύσκολα Άεργος χρόνος Προκύπτει συνήθως από ανισοκατανομή του φόρτου εργασίας (load imbalance) Μπορεί να οφείλεται σε αναμονή για δεδομένα Σε αυτή την περίπτωση μπορεί να μοντελοποιηθεί σας μέρος του t s στο χρόνο επικοινωνίας 28

29 Σχεδιασμός παράλληλων προγραμμάτων Δεν υπάρχει αυστηρά ορισμένη διαδικασία για το σχεδιασμό και την υλοποίηση παράλληλων προγραμμάτων It s more art than science Μετρικές αξιολόγησης: Επίδοση του παραγόμενου κώδικα Επιτάχυνση Αποδοτικότητα Κλιμακωσιμότητα Παραγωγικότητα (code productivity) Χαμηλός χρόνος υλοποίησης Μεταφερσιμότητα (portability) Ευκολία στη συντήρηση (maintainability) 29

30 4 βασικά στάδια (όχι τελείως ανεξάρτητα) Στάδιο 1: Κατανομή υπολογισμών και δεδομένων Στάδια σχεδιασμού Στάδιο 2: Σχεδιασμός αλληλεπίδρασης ανάμεσα στα tasks Στάδιο 3: Απεικόνιση των tasks σε διεργασίες (ή threads) Στάδιο 4: Ενορχήστρωση της επικοινωνίας ή/και του συγχρονισμού Σημείωση: Πολλές από τις επιλογές σε κάθε στάδιο εξαρτώνται από την τελική πλατφόρμα εκτέλεσης 30

31 Στάδιο 1: Κατανομή υπολογισμών και δεδομένων Στόχος: κατανομή των υπολογισμών και των δεδομένων σε επεξεργαστικά στοιχεία Τι να μοιράσω πρώτα; Υπολογισμούς ή δεδομένα; Προσέγγιση παραλληλοποίησης task centric: πρώτα μοιράζονται οι υπολογισμοί και βάσει αυτού τα δεδομένα data centric: πρώτα μοιράζονται τα δεδομένα, και βάσει αυτού οι υπολογισμοί Τελικά θα προκύψουν tasks και κατανομή δεδομένων Παράδειγμα: Πολλαπλασιασμός πινάκων (C = A * B) task centric: διαμοιρασμός των υπολογισμών με βάση τα γινόμενα διανυσμάτων, δηλ. 1 task = ένα γινόμενο διανυσμάτων data centric: διαμοιρασμός των υπολογισμών ανά στοιχείο του πίνακα C, δηλ. 1 task = πράξεις που χρειάζονται για τον υπολογισμό ενός στοιχείου C ij του πίνακα C Ειδική περίπτωση της task centric προσέγγισης είναι η function centric: η κατανομή γίνεται με βάση τις συναρτήσεις (διαφορετικές λειτουργίες/στάδια) function centric: διαμοιρασμός των υπολογισμών ανά πράξη: 1 task = πολλαπλασιαμός, 1 task = πρόσθεση 31

32 Επιλογή στρατηγικής ανάλογα με τον αλγόριθμο Η task centric προσέγγιση είναι η πιο γενική Στάδιο 1: Κατανομή υπολογισμών και δεδομένων Οι task centric και data centric μπορεί να οδηγήσουν σε ακριβώς την ίδια κατανομή Απαιτήσεις: Αποδοτικότητα Μεγιστοποίηση παραλληλίας Ελαχιστοποίηση επιβαρύνσεων λόγω διαχείρισης tasks, συγχρονισμού, επικοινωνίας Ισοκατανομή φορτίου Απλότητα Ευελιξία (ανεξαρτησία από απαιτήσεις υλοποίησης) 32

33 Αναλογία: παρασκευή πίτσας Μάγειρας Processing element Υλικά (ζύμη, σάλτσα, τυρί, ) data Στόχος: παραλληλοποίηση της παρασκευής Ν ταψιών πίτσας Υπόθεση: Συνεργάζονται >1 μάγειρες task centric προσέγγιση: «μοιράζω τη δουλειά» 1 task = παρασκευή 1 ταψιού πίτσας data centric προσέγγιση: «μοιράζω τα δεδομένα (υλικά)» η κατανομή της δουλειάς προκύπτει σαν φυσικό επακόλουθο του διαμοιρασμού των δεδομένων μοιράζω τα υλικά σε τμήματα (σε Κ μέρη / ανά μάγειρα / ανά πίτσα, θα αποφασιστεί αργότερα) function centric προσέγγιση: διαχωρίζω τις διαφορετικές δουλειές παρασκευή ζύμης, παρασκευή σάλτσας, προετοιμασία λοιπών υλικών, άπλωμα ζύμης, τοποθέτηση σάλτσας, τοποθέτηση topping 33

34 Rule of thumb Αλγόριθμοι σε κανονικές δομές δεδομένων (π.χ. regular computational grids, αλγεβρικοί πίνακες) ευνοούν τη data centric κατανομή: Πολλαπλασιασμός πινάκων (γενικά βασικές αλγεβρικές ρουτίνες) Επίλυση γραμμικών συστημάτων Stencil computations Όταν μπορεί να εφαρμοστεί, η data centric προσέγγιση οδηγεί σε κομψές λύσεις: δοκιμάζουμε πρώτα την data centric και αν δεν πετύχει, καταφεύγουμε στην task centric 34

35 Rule of thumb H task centric προσέγγιση αποτελεί λύση για πιο δυναμικούς αλγορίθμους σε ακανόνιστες δομές δεδομένων (irregular data structures) Αλγόριθμοι σε λίστες, δέντρα, γράφους, κλπ Αναδρομικοί αλγόριθμοι Event-based εφαρμογές 35

36 Rule of thumb H function centric προσέγγιση μπορεί να υιοθετηθεί όταν υπάρχουν διακριτές φάσεις και «ροή δεδομένων» Υπάρχει κάποιου είδους υποστήριξη στο υλικό για κάθε φάση Η παραλληλοποίηση σε κάθε φάση με την data centric προσέγγιση δεν οδηγεί σε ικανοποιητική αξιοποίηση των πόρων (π.χ. δεν κλιμακώνει στο διαθέσιμο αριθμό πυρήνων λόγω συμφόρησης στο διάδρομο μνήμης) 36

37 Rule of thumb H function centric προσέγγιση μπορεί να υιοθετηθεί όταν υπάρχουν διακριτές φάσεις και «ροή δεδομένων» Υπάρχει κάποιου είδους υποστήριξη στο υλικό για κάθε φάση Η παραλληλοποίηση σε κάθε φάση με την data centric προσέγγιση δεν οδηγεί σε ικανοποιητική αξιοποίηση των πόρων (π.χ. δεν κλιμακώνει στο διαθέσιμο αριθμό πυρήνων λόγω συμφόρησης στο διάδρομο μνήμης) data centric: π.χ. 32 threads ανά φάση load image scale image filter image display image 37

38 Rule of thumb H function centric προσέγγιση μπορεί να υιοθετηθεί όταν υπάρχουν διακριτές φάσεις και «ροή δεδομένων» Υπάρχει κάποιου είδους υποστήριξη στο υλικό για κάθε φάση Η παραλληλοποίηση σε κάθε φάση με την data centric προσέγγιση δεν οδηγεί σε ικανοποιητική αξιοποίηση των πόρων (π.χ. δεν κλιμακώνει στο διαθέσιμο αριθμό πυρήνων λόγω συμφόρησης στο διάδρομο μνήμης) data centric: π.χ. 32 threads ανά φάση load image scale image filter image Αν κάθε φάση κλιμακώνει μέχρι τα 8 threads, έχουμε προφανή σπατάλη πόρων display image 38

39 Rule of thumb H function centric προσέγγιση μπορεί να υιοθετηθεί όταν υπάρχουν διακριτές φάσεις και «ροή δεδομένων» Υπάρχει κάποιου είδους υποστήριξη στο υλικό για κάθε φάση Η παραλληλοποίηση σε κάθε φάση με την data centric προσέγγιση δεν οδηγεί σε ικανοποιητική αξιοποίηση των πόρων (π.χ. δεν κλιμακώνει στο διαθέσιμο αριθμό πυρήνων λόγω συμφόρησης στο διάδρομο μνήμης) load image (#4) 8 threads scale image (#3) 8 threads filter image (#2) 8 threads display image (#1) 8 threads 39

40 Παράδειγμα: Εξίσωση θερμότητας Αλγόριθμος του Jacobi (2-διάστατο πλέγμα Χ * Υ) A[step+1][i][j] = 1/5 (A[step][i][j] + A[step][i-1][j] + A[step][i+1][j] + A[step][i][j-1] + A[step][i][j+1]) Data centric Μοιράζουμε τα δεδομένα ανά σημείο / γραμμή / στήλη / μπλοκ Κάθε task αναλαμβάνει να υπολογίσει την τιμή σε κάθε διαμοιρασμένο δεδομένο Task centric 1 task = υπολογισμός θερμότητας για κάθε σημείο του χωρίου 1 task = υπολογισμός θερμότητας για κάθε χρονικό βήμα 1 task = υπολογισμός θερμότητας για μία γραμμή / στήλη / block του δισδιάστατου πλέγματος για όλες τις χρονικές στιγμές 1 task = υπολογισμός θερμότητας για μία γραμμή / στήλη / block του δισδιάστατου πλέγματος για μία χρονική στιγμή Κατανομή δεδομένων: Κάθε task κατέχει (owns) τα δεδομένα που γράφει 40

41 Κατανομή δεδομένων Τα δεδομένα του προβλήματος μπορούν να κατανεμηθούν ως: Μοιραζόμενα δεδομένα (shared data): Μπορεί να υποστηριχθεί μόνο από προγραμματιστικά μοντέλα κοινού χώρου διευθύνσεων Αποτελεί ένα πολύ βολικό τρόπο «κατανομής» Χρειάζεται ιδιαίτερη πρόνοια όταν τα δεδομένα εγγράφονται από διαφορετικά tasks (race conditions, ανάγκη συγχρονισμού) Κατανεμημένα δεδομένα (distributed data): Τα δεδομένα κατανέμονται ανάμεσα στα tasks Αποτελεί τη βασική προσέγγιση στα προγραμματιστικά μοντέλα ανταλλαγής μηνυμάτων Επιβάλλει επιπλέον προγραμματιστικό κόστος Αντιγραμμένα δεδομένα (replicated data): Για αντιγραφή μικρών read-only δομών δεδομένων Για αντιγραφή υπολογισμών 41

42 Κατανομή κανονικών δομών 1-dimensional 2-dimensional + Απλή στην υλοποίηση - Περιοριστική (το task που προκύπτει εξαρτάται από το Ν του πίνακα) - Δυσκολότερη στην υλοποίηση + Πιο ευέλικτη (ο προγραμματιστής ελέγχει το μέγεθος του task) 42

43 Στάδιο 2: Σχεδιασμός αλληλεπίδρασης ανάμεσα στα tasks Ανάγκη για αλληλεπίδραση: Δεδομένα προσπελαύνονται από διαφορετικά tasks Σε κοινά δεδομένα, τουλάχιστον μία πρόσβαση είναι εγγραφή: Race condition: Το αποτέλεσμα της (παράλληλης) εκτέλεσης εξαρτάται από τη σειρά με την οποία τα tasks προσπελαύνουν τα κοινά δεδομένα Π.χ. producer consumer (counter++, counter--) critical section Εξάρτηση ανάμεσα σε tasks: Η σημασιολογικά ορθή εκτέλεση απαιτεί συγκεκριμένα σειρά πρόσβασης στα δεδομένα ordering Σε κατανεμημένα δεδομένα: Ένα task χρειάζεται να διαβάσει δεδομένα που παράγει ένα άλλο task communication 43

44 Εξαρτήσεις Εξαρτήσεις δεδομένων υπάρχουν ήδη από το σειριακό πρόγραμμα Εξάρτηση υπάρχει όταν 2 εντολές αναφέρονται στα ίδια δεδομένα (θέση μνήμης) 4 είδη εξαρτήσεων Read-After-Write (RAW) ή true dependence Write-After-Read (WAR) ή anti dependence Write-After-Write (WAW) ή output dependence Read-After-Read (not really a dependence) Η παράλληλη εκτέλεση πρέπει να σεβαστεί τις εξαρτήσεις του προβλήματος Η κατανομή των δεδομένων στα tasks δημιουργεί κατά κανόνα εξαρτήσεις ανάμεσα στα tasks (π.χ. το task1 πρέπει να διαβάσει δεδομένα που παράγει το task2) 44

45 Γράφος εξαρτήσεων (task dependence graph) Ή απλά task graph Κορυφές: tasks Label κορυφής: κόστος υπολογισμού του task Ακμές: εξαρτήσεις ανάμεσα στα tasks Βάρος ακμής: όγκος δεδομένων που πρέπει να μεταφερθούν (στην περίπτωση της επικοινωνίας) 45

46 Εξαρτήσεις στην εξίσωση θερμότητας 1 task = υπολογισμός θερμότητας για κάθε σημείο του χωρίου A[step+1][i][j] = 1/5 (A[step][i][j] + A[step][i-1][j] + A[step][i+1][j] + A[step][i][j-1] + A[step][i][j+1]) 46

47 Εξαρτήσεις στην εξίσωση θερμότητας 1 task = υπολογισμός θερμότητας για κάθε χρονικό βήμα Δεν υπάρχουν ταυτόχρονα tasks! A[step+1][i][j] = 1/5 (A[step][i][j] + A[step][i-1][j] + A[step][i+1][j] + A[step][i][j-1] + A[step][i][j+1]) 47

48 Εξαρτήσεις στην εξίσωση θερμότητας 1 task = υπολογισμός θερμότητας για μία γραμμή του δισδιάστατου πλέγματος για όλες τις χρονικές στιγμές Δεν υπάρχει έγκυρη παράλληλη εκτέλεση! A[step+1][i][j] = 1/5 (A[step][i][j] + A[step][i-1][j] + A[step][i+1][j] + A[step][i][j-1] + A[step][i][j+1]) 48

49 Εξαρτήσεις στην εξίσωση θερμότητας 1 task = υπολογισμός θερμότητας για μία γραμμή του δισδιάστατου πλέγματος για μία χρονική στιγμή A[step+1][i][j] = 1/5 (A[step][i][j] + A[step][i-1][j] + A[step][i+1][j] + A[step][i][j-1] + A[step][i][j+1]) 49

50 Στάδιο 3: Απεικόνιση των tasks σε διεργασίες (ή threads) Κατάλληλη ομαδοποίηση tasks μπορεί να οδηγήσει σε μείωση ή και σε εξάλειψη εξαρτήσεων (ελαχιστοποίηση αναγκών συγχρονισμού επικοινωνίας) 50

51 Ομαδοποίηση tasks Κατάλληλη ομαδοποίηση tasks μπορεί να οδηγήσει σε μείωση ή και σε εξάλειψη εξαρτήσεων (ελαχιστοποίηση αναγκών συγχρονισμού επικοινωνίας) 51

52 Ομαδοποίηση tasks Κατάλληλη ομαδοποίηση tasks μπορεί να οδηγήσει σε μείωση ή και σε εξάλειψη εξαρτήσεων (ελαχιστοποίηση αναγκών συγχρονισμού επικοινωνίας) 52

53 Ομαδοποίηση tasks Η ομαδοποίηση των tasks κάνει τη συνέχεια της υλοποίησης πιο ευέλικτη (π.χ. ανεξάρτητη από το μέγεθος του προβλήματος) Π.χ. στην εξίσωση διάχυσης η ομαδοποίηση tasks σε δύο διαστάσεις του χωρικού πλέγματος παραμετρικά (π.χ. B 1 * B 2 αρχικά tasks δημιουργούν ένα νέο task) παρέχει ευελιξία στη συνέχεια της υλοποίησης 53

54 Στατική vs. Δυναμική απεικόνιση tasks Στατική απεικόνιση: Διαμοιρασμός των tasks σε threads πριν την έναρξη της εκτέλεσης Κατάλληλη στρατηγική για εφαρμογές με: ομοιόμορφη και γνωστή εξαρχής κατανομή φορτίου ανομοιόμορφη αλλά προβλέψιμη κατανομή φορτίου Πλεονεκτήματα : Απλή στην υλοποίηση Καλή επίδοση για «κανονικές εφαρμογές» Μηδενικό overhead Μειονεκτήματα: Κακή επίδοση για δυναμικές και ακανόνιστες εφαρμογές 54

55 Στατική vs. Δυναμική απεικόνιση tasks Δυναμική απεικόνιση: Διαμοιρασμός των tasks σε threads κατά την εκτέλεση Κατάλληλη στρατηγική για εφαρμογές με: μη προβλέψιμο φορτίο δυναμικά δημιουργούμενα tasks Πλεονεκτήματα: Εξισορρόπηση φορτίου σε δυναμικές και ακανόνιστες εφαρμογές Μειονεκτήματα: Δύσκολη στην υλοποίηση (συνήθως το αναλαμβάνει το run-time σύστημα) Μπορεί να δημιουργήσει bottleneck σε περίπτωση υλοποίησης με ένα κεντρικό scheduling thread (απαιτούνται κατανεμημένοι αλγόριθμοι) 55

56 Σχετικά ζητήματα απεικόνισης (δρομολόγησης) Δρομολόγηση εργασιών σε ένα υπερυπολογιστικό σύστημα N κόμβοι, c πυρήνες ανά κόμβο Κ jobs, κάθε job J ζητάει Νj κόμβους και c j πύρήνες Στατικές προσεγγίσεις Δρομολόγηση παράλληλων εφαρμογών σε επίπεδο λειτουργικού Πολυπύρηνο σύστημα Κ εφαρμογές με διαφορετικός αριθμό από threads η κάθε μία Οι τρέχουσες προσεγγίσεις δεν είναι ικανοποιητικές Δρομολόγηση των tasks μίας παράλληλης εφαρμογής σε ένα πολυπύρηνο σύστημα Επαναλήψεις ενός παράλληλου loop Tasks μίας παράλληλης εφαρμογής 56

57 data centric, στατική απεικόνιση 1-dim 2-dim (block) sequential cyclic sequential cyclic 57

58 Παράδειγμα: Επιλογή απεικόνισης για LU και stencil //LU decomposition kernel for(k=0; k<n-1; k++) for(i=k+1; i<n; i++){ L[i] = A[i][k] / A[k][k]; for(j=k+1; j<n; j++) A[i][j]=A[i][j]-L[i]*A[j][i]; } //stencil for (t=1; t<t; t++){ for (i=1; i<x; i++) for (j=1; j<y; j++) A[t][i][j] = 0.2*(A[t-1][i][j] + A[t-1][i-1][j] + A[t-1][i+1][j] + A[t-1][i][j-1] + A[t-1][i][j]); } 58

59 Στάδιο 4: Ενορχήστρωση της επικοινωνίας ή/και του συγχρονισμού Η κατανομή των υπολογισμών και των δεδομένων δημιουργεί ανάγκες για επικοινωνία και συγχρονισμό Επικοινωνία: Κατανεμημένα δεδομένα 1 task χρειάζεται να διαβάσει δεδομένα που κατέχει ένα άλλο task Σημείο-προς-σημείο και συλλογική Συγχρονισμός: Διατήρηση των εξαρτήσεων: σειριοποίηση μεταξύ tasks Αμοιβαίος αποκλεισμός: ελεγχόμενη πρόσβαση σε shared δεδομένα Τυπικά patterns συγχρονισμού: critical section ordering barrier 59

60 Στάδιο 4: Ενορχήστρωση της επικοινωνίας ή/και του συγχρονισμού Συχνή επικοινωνία / συγχρονισμός μπορούν να «σκοτώσουν» την επίδοση ενός παράλληλου προγράμματος Βελτιστοποίηση επικοινωνίας Κατάλληλη κατανομή δεδομένων μείωση αναγκών επικοινωνίας Επικάλυψη υπολογισμών-επικοινωνίας Ζητήματα συγχρονισμού Δύσκολη υλοποίηση ορθά συγχρονισμένων προγραμμάτων Κόστος εκτέλεσης: fine-grain vs coarse-grain συγχρονισμός Εναλλακτικές προσεγγίσεις: Non-blocking data structures Transactional memory 60

61 Σύνοψη σχεδιασμού παράλληλων προγραμμάτων Δεν υπάρχει ξεκάθαρη μεθοδολογία παραλληλοποίησης προγραμμάτων Δύο σημαντικά βήματα (συχνά όχι σειριακά): Σχεδιασμός Αναζήτηση παραλληληλίας (κατανομή υπολογισμού και δεδομένων σε tasks) Δεν λαμβάνονται ιδιαίτερα υπόψη τα εργαλεία προγραμματισμού και η πλατφόρμα εκτέλεσης Υλοποίηση (επόμενο μάθημα) Έκφραση παραλληλίας Επιλογή προγραμματιστικού μοντέλου και εργαλείων Λαμβάνεται υπόψη η πλατφόρμα εκτέλεσης 2 βασικές προσεγγίσεις σχεδιασμού: task centric: κατανέμονται πρώτα οι υπολογισμοί και μετά τα δεδομένα data centric: κατανέμονται πρώτα τα δεδομένα και μετά οι υπολογισμοί Σημαντική προσέγγιση: functional parallelism (υποπερίπτωση του task parallelism) Επιλογή προσέγγισης ανάλογα με τα χαρακτηριστικά της εφαρμογής 61

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

Παράλληλος προγραμματισμός: Σχεδίαση παράλληλων προγραμμάτων Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση παράλληλων προγραμμάτων 9 ο Εξάμηνο Σχεδιασμός παράλληλων

Διαβάστε περισσότερα

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

Παράλληλος προγραμματισμός: παράλληλες λ υπολογιστικές πλατφόρμες και ανάλυση προγραμμάτων Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: παράλληλες λ υπολογιστικές πλατφόρμες και ανάλυση προγραμμάτων

Διαβάστε περισσότερα

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

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο

Διαβάστε περισσότερα

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

Παράλληλος προγραμματισμός: Σχεδίαση παράλληλων προγραμμάτων Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση παράλληλων προγραμμάτων 9 ο Εξάμηνο Σύνοψη παρουσίασης

Διαβάστε περισσότερα

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

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο

Διαβάστε περισσότερα

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

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο

Διαβάστε περισσότερα

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

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο

Διαβάστε περισσότερα

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

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο

Διαβάστε περισσότερα

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

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο

Διαβάστε περισσότερα

Συστήµατα Παράλληλης Επεξεργασίας. Παράλληλος προγραµµατισµός: Σχεδιασµός παράλληλων προγραµµάτων

Συστήµατα Παράλληλης Επεξεργασίας. Παράλληλος προγραµµατισµός: Σχεδιασµός παράλληλων προγραµµάτων Παράλληλος προγραµµατισµός: Σχεδιασµός παράλληλων προγραµµάτων Αρχιτεκτονικές Αξιολόγηση επίδοσης Σχεδιασµός παράλληλων προγραµµάτων task centric data centric function centric Σύνοψη παρουσίασης ιαµοιρασµός

Διαβάστε περισσότερα

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

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο

Διαβάστε περισσότερα

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

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο

Διαβάστε περισσότερα

Σύνοψη παρουσίασης. Παράλληλες υπολογιστικές πλατφόρμες. Ανάλυση παράλληλων προγραμμάτων. Σχεδίαση παράλληλων προγραμμάτων

Σύνοψη παρουσίασης. Παράλληλες υπολογιστικές πλατφόρμες. Ανάλυση παράλληλων προγραμμάτων. Σχεδίαση παράλληλων προγραμμάτων Σύνοψη παρουσίασης Παράλληλες υπολογιστικές πλατφόρμες PRAM: Η ιδανική παράλληλη πλατφόρμα Η ταξινόμηση του Flynn Συστήματα κοινής μνήμης Συστήματα κατανεμημένης μνήμης Ανάλυση παράλληλων προγραμμάτων

Διαβάστε περισσότερα

2. Στοιχεία Αρχιτεκτονικής Παράλληλων Υπολογιστών... 45

2. Στοιχεία Αρχιτεκτονικής Παράλληλων Υπολογιστών... 45 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος... 9 1. Εισαγωγή... 13 1.1 Οι Μεγάλες Σύγχρονες Επιστημονικές Προκλήσεις... 13 1.2 Εξέλιξη της Παράλληλης Επεξεργασίας Δεδομένων... 14 1.3 Οι Έννοιες της Σωλήνωσης, του Παραλληλισμού

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Γ ) Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών

Διαβάστε περισσότερα

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

13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1 13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1 ΓΛΩΣΣΑΡΙ Αµοιβαίος αποκλεισµός (mutual exclusion) Στο µοντέλο κοινού χώρου διευθύνσεων, ο αµοιβαίος αποκλεισµός είναι ο περιορισµός του αριθµού των διεργασιών

Διαβάστε περισσότερα

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

Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί Χαρμανδάρης Βαγγέλης, Τμήμα Εφαρμοσμένων Μαθηματικών Πανεπιστήμιο Κρήτης, Εαρινό Εξάμηνο 2013/14 Κεφάλαιο 3: Θεωρία Παράλληλου Προγραμματισμού

Διαβάστε περισσότερα

EM 361: Παράλληλοι Υπολογισμοί

EM 361: Παράλληλοι Υπολογισμοί ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ EM 361: Παράλληλοι Υπολογισμοί Ενότητα #2: Αρχιτεκτονική Διδάσκων: Χαρμανδάρης Ευάγγελος ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

Διαβάστε περισσότερα

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

Μετρικές & Επιδόσεις. Κεφάλαιο V Μετρικές & Επιδόσεις Κεφάλαιο V Χρόνος εκτέλεσης & επιτάχυνση Σειριακός χρόνος εκτέλεσης: Τ (για τον καλύτερο σειριακό αλγόριθμο) Παράλληλος χρόνος εκτέλεσης: (με επεξεργαστές) Επιτάχυνση (speedup): S

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Διπλωματικές

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Γ ) Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών

Διαβάστε περισσότερα

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

Παρουσίαση 2 ης Άσκησης: Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παρουσίαση 2 ης Άσκησης: Ανάπτυξη παράλληλου κώδικα και μελέτη της επίδοσης του αλγορίθμου

Διαβάστε περισσότερα

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

Παρουσίαση 2 ης Άσκησης: Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παρουσίαση 2 ης Άσκησης: Ανάπτυξη παράλληλου κώδικα και μελέτη επίδοσης του αλγόριθμου

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Γιώργος Δημητρίου Ενότητα 11 η : Εισαγωγή σε Παράλληλες Αρχιτεκτονικές Παράλληλη Επεξεργασία Επίπεδο Παραλληλισμού Από εντολές έως ανεξάρτητες διεργασίες Οργανώσεις Παράλληλων Αρχιτεκτονικών Συμμετρικοί,

Διαβάστε περισσότερα

Εφαρµογές µε ανάγκες για υψηλές επιδόσεις Αξιολόγηση επίδοσης Παραλληλοποίηση εφαρµογών

Εφαρµογές µε ανάγκες για υψηλές επιδόσεις Αξιολόγηση επίδοσης Παραλληλοποίηση εφαρµογών Parallelizing applications for the GRID Γιώργος Γκούµας goumas@cslab.ece.ntua.gr Σύνοψη Παρουσίασηςασης Εφαρµογές µε ανάγκες για υψηλές επιδόσεις Αξιολόγηση επίδοσης Παραλληλοποίηση εφαρµογών Γενικές αρχές

Διαβάστε περισσότερα

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

Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί Χαρμανδάρης Βαγγέλης, Τμήμα Εφαρμοσμένων Μαθηματικών Πανεπιστήμιο Κρήτης, Εαρινό Εξάμηνο 2013/14 Κεφάλαιο 4: Παράλληλοι Αλγόριθμοι Ταξινόμηση

Διαβάστε περισσότερα

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

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ: ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων

Διαβάστε περισσότερα

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

Παρουσίαση 1 ης Άσκησης: Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παρουσίαση 1 ης Άσκησης: Ανάπτυξη παράλληλου κώδικα σε πολυπύρηνες αρχιτεκτονικές κοινής

Διαβάστε περισσότερα

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

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Ταχύτητα εκτέλεσης Χρόνος εκτέλεσης = (αριθμός εντολών που εκτελούνται) Τί έχει σημασία: Χ (χρόνος εκτέλεσης εντολής) Αριθμός

Διαβάστε περισσότερα

Πολυπύρηνοι επεξεργαστές Multicore processors

Πολυπύρηνοι επεξεργαστές Multicore processors Πολυπύρηνοι επεξεργαστές Multicore processors 1 Μετάβαση στους πολυπύρηνους(1) Απόδοση των µονοεπεξεργαστών 25% ετήσια βελτίωση της απόδοσης από το 1978 έως το 1986 Κυρίως από την εξέλιξη της τεχνολογίας

Διαβάστε περισσότερα

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

Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός; Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός; Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg Αρετή

Διαβάστε περισσότερα

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:

Διαβάστε περισσότερα

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Πλεονεκτήματα MPSoC Είναι ευκολότερο να σχεδιαστούν πολλαπλοί πυρήνες επεξεργαστών από τον σχεδιασμό ενός ισχυρότερου και πολύ πιο σύνθετου μονού επεξεργαστή.

Διαβάστε περισσότερα

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 Πολυπύρηνοι επεξεργαστές, μέρος 2 Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Cache coherence & scalability! Τα πρωτόκολλα

Διαβάστε περισσότερα

Network Algorithms and Complexity Παραλληλοποίηση του αλγορίθμου του Prim. Αικατερίνη Κούκιου

Network Algorithms and Complexity Παραλληλοποίηση του αλγορίθμου του Prim. Αικατερίνη Κούκιου Network Algorithms and Complexity Παραλληλοποίηση του αλγορίθμου του Prim Αικατερίνη Κούκιου Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών (ΙI)

Οργάνωση Υπολογιστών (ΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Οργάνωση Υπολογιστών (ΙI) (κύρια και κρυφή μνήμη) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Ένα τυπικό

Διαβάστε περισσότερα

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) 1 Συστήματα Μνήμης Η οργάνωση του συστήματος μνήμης επηρεάζει τη λειτουργία και απόδοση ενός μικροεπεξεργαστή: Διαχείριση μνήμης και περιφερειακών (Ι/Ο) απότολειτουργικόσύστημα

Διαβάστε περισσότερα

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI)

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 015-16 Οργάνωση Υπολογιστών (ΙI) (κύρια και ) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα τυπικό υπολογιστικό

Διαβάστε περισσότερα

Minimum Spanning Tree: Prim's Algorithm

Minimum Spanning Tree: Prim's Algorithm Minimum Spanning Tree: Prim's Algorithm 1. Initialize a tree with a single vertex, chosen arbitrarily from the graph. 2. Grow the tree by one edge: of the edges that connect the tree to vertices not yet

Διαβάστε περισσότερα

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC Αρχιτεκτονική Πλατφόρμας Μπορεί να μοντελοποιηθεί σαν ένα σύνολο από διασυνδεδεμένα κομμάτια: 1. Στοιχεία επεξεργασίας (processing

Διαβάστε περισσότερα

Παρουσίαση 3ης Άσκησης

Παρουσίαση 3ης Άσκησης Παρουσίαση 3ης Άσκησης Παράλληλος προγραμματισμός για αρχιτεκτονικές κατανεμημένης μνήμης με MPI Συστήματα Παράλληλης Επεξεργασίας 9ο Εξάμηνο, ΣΗΜΜΥ Εργ. Υπολογιστικών Συστημάτων Σχολή ΗΜΜΥ, Ε.Μ.Π. Νοέμβριος

Διαβάστε περισσότερα

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

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο

Διαβάστε περισσότερα

Κατανεμημένος και Παράλληλος Προγραμματισμός. Ύλη μαθήματος. Βιβλιογραφία Μαθήματος 2/27/2016

Κατανεμημένος και Παράλληλος Προγραμματισμός. Ύλη μαθήματος. Βιβλιογραφία Μαθήματος 2/27/2016 Κατανεμημένος και Παράλληλος Προγραμματισμός Ηλίας Κ. Σάββας Αναπληρωτής Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Θεσσαλίας Email: savvas@teilar.gr Ύλη μαθήματος. Εισαγωγή στον κατανεμημένο προγραμματισμό.

Διαβάστε περισσότερα

Τεχνολογίες Κύριας Μνήμης

Τεχνολογίες Κύριας Μνήμης Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Τεχνολογίες Κύριας (και η ανάγκη για χρήση ιεραρχιών μνήμης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κύρια Μνήμη

Διαβάστε περισσότερα

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Τεχνολογίες Κύριας (και η ανάγκη για χρήση ιεραρχιών μνήμης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης i Στα σύγχρονα

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Αρχιτεκτονική Υπολογιστών Παραλληλισμός Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Architecture and Engineering, K. Asanovic,

Διαβάστε περισσότερα

Εισαγωγή Θέματα H/W. Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης. Κατανεμημένα Συστήματα (Ε) Εισαγωγή: Θέματα H/W 1

Εισαγωγή Θέματα H/W. Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης. Κατανεμημένα Συστήματα (Ε) Εισαγωγή: Θέματα H/W 1 Εισαγωγή Θέματα H/W Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης Εισαγωγή: Θέματα H/W 1 Θέματα Hardware Τα ΚΣ αποτελούνται από πολλαπλά CPUs ιαφορετικοί τρόποι σύνδεσης και επικοινωνίας

Διαβάστε περισσότερα

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

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο

Διαβάστε περισσότερα

Chapter 4 ( ή 1 στο βιβλίο σας)

Chapter 4 ( ή 1 στο βιβλίο σας) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 4 ( ή 1 στο βιβλίο σας) Αξιολόγηση και κατανόηση της απόδοσης Δέκατη (10 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα

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

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ ΜΕΤΡΑ ΑΠΟΔΟΣΗΣ ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΨΗΛΩΝ ΕΠΙΔΟΣΕΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΨΗΛΩΝ ΕΠΙΔΟΣΕΩΝ Η

Διαβάστε περισσότερα

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

Διαβάστε περισσότερα

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 11ο μάθημα: πολυπύρηνοι επεξεργαστές, μέρος 1 Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Παράλληλη επεξεργασία Στο προηγούμενο

Διαβάστε περισσότερα

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 10ο μάθημα: Ορια παραλληλίας επιπέδου εντολής και πολυνηματικοί επεξεργαστές Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Ορια

Διαβάστε περισσότερα

Παράλληλος προγραμματισμός: Υλοποίηση παράλληλων προγραμμάτων

Παράλληλος προγραμματισμός: Υλοποίηση παράλληλων προγραμμάτων Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο Σύνοψη παρουσίασης

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6

ΠΕΡΙΕΧΟΜΕΝΑ. 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6 ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή στην Δομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6 1.3.1 Δομή

Διαβάστε περισσότερα

Κεφάλαιο 5 Ανάλυση Αλγορίθμων

Κεφάλαιο 5 Ανάλυση Αλγορίθμων Κεφάλαιο 5 Ανάλυση Αλγορίθμων 5.1 Επίδοση αλγορίθμων Τα πρωταρχικά ερωτήματα που προκύπτουν είναι: 1. πώς υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 2. πώς μπορούν να συγκριθούν μεταξύ τους οι διάφοροι

Διαβάστε περισσότερα

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

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 2: Αρχιτεκτονικές Von Neuman, Harvard. Κατηγοριοποίηση κατά Flynn. Υπολογισμός απόδοσης Συστημάτων

Διαβάστε περισσότερα

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Εργαστήριο Σχεδίασης Ψηφιακών Ολοκληρωμένων Κυκλωμάτων και Συστημάτων «Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο 2016-2017 Διάλεξη 5 η :

Διαβάστε περισσότερα

Εικονική Μνήμη (1/2)

Εικονική Μνήμη (1/2) Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Εικονική Μνήμη (1/2) Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2016-2017 Εικονική Μνήμη

Διαβάστε περισσότερα

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Πληροφορική Ι Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ Δρ. Γκόγκος Χρήστος Εκτέλεση προγραμμάτων Πρόγραμμα: Ένα σύνολο από εντολές.

Διαβάστε περισσότερα

EM 361: Παράλληλοι Υπολογισμοί

EM 361: Παράλληλοι Υπολογισμοί ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ EM 361: Παράλληλοι Υπολογισμοί Ενότητα #4: Παράλληλοι Αλγόριθμοι Διδάσκων: Χαρμανδάρης Ευάγγελος ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

Διαβάστε περισσότερα

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 6-7 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας

Διαβάστε περισσότερα

Η πολυνηματική γλώσσα προγραμματισμού Cilk

Η πολυνηματική γλώσσα προγραμματισμού Cilk Η πολυνηματική γλώσσα προγραμματισμού Cilk Β Καρακάσης Ερευνητικά Θέματα Υλοποίησης Γλωσσών Προγραμματισμού Μεταπτυχιακό Μάθημα (688), ΣΗΜΜΥ Νοέμβριος 2009 Β Καρακάσης (CSLab, NTUA) ΣΗΜΜΥ, Μετ/κό 688 9/2009

Διαβάστε περισσότερα

ΣΥΣΤΗΜΑΤΑ ΠΑΡΑΛΛΗΛΗΣ ΕΠΕΞΕΡΓΑΣΙΑΣ 9o εξάμηνο ΗΜΜΥ, ακαδημαϊκό έτος

ΣΥΣΤΗΜΑΤΑ ΠΑΡΑΛΛΗΛΗΣ ΕΠΕΞΕΡΓΑΣΙΑΣ 9o εξάμηνο ΗΜΜΥ, ακαδημαϊκό έτος ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΞΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr ΣΥΣΤΗΜΑΤΑ

Διαβάστε περισσότερα

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 8. Χειμερινό Εξάμηνο

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 8. Χειμερινό Εξάμηνο Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering Οργάνωση και Σχεδίαση Η/Y (HY232) Εργαστήριο 8 Χειμερινό Εξάμηνο 2016-2017 1. Προσομοίωση λειτουργίας ιεραρχίας

Διαβάστε περισσότερα

Τελική Εξέταση, Απαντήσεις/Λύσεις

Τελική Εξέταση, Απαντήσεις/Λύσεις ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMΜY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 Τελική Εξέταση, Απαντήσεις/Λύσεις Άσκηση 1: Assembly για

Διαβάστε περισσότερα

Chapter 4 (1) Αξιολόγηση και κατανόηση της απόδοσης

Chapter 4 (1) Αξιολόγηση και κατανόηση της απόδοσης Chapter 4 (1) Αξιολόγηση και κατανόηση της απόδοσης Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ. Εφαρμογών Νικόλαος Πετράκης, Τμήματος Ηλεκτρονικών Μηχανικών του

Διαβάστε περισσότερα

Παράλληλοι Αλγόριθµοι

Παράλληλοι Αλγόριθµοι Παράλληλοι Αλγόριθµοι Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Το µοντέλο PRAΜ Πολλαπλασιασµός πινάκων Υπολογισµός αθροισµάτων προθέµατος ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 13-1 Παράλληλοι Αλγόριθµοι

Διαβάστε περισσότερα

Ατομική Διπλωματική Εργασία ΠΡΟΣOΜΟΙΩΣΗ ΚΑΙ ΠΕΙΡΑΜΑΤΙΚΗ ΑΞΙΟΛΟΓΗΣΗ ΠΑΡΑΛΛΗΛΩΝ ΑΛΓΟΡΙΘΜΩΝ ΣΤΗΝ ΠΛΑΤΦΟΡΜΑ XMT. Άντρια Αναστασίου ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ

Ατομική Διπλωματική Εργασία ΠΡΟΣOΜΟΙΩΣΗ ΚΑΙ ΠΕΙΡΑΜΑΤΙΚΗ ΑΞΙΟΛΟΓΗΣΗ ΠΑΡΑΛΛΗΛΩΝ ΑΛΓΟΡΙΘΜΩΝ ΣΤΗΝ ΠΛΑΤΦΟΡΜΑ XMT. Άντρια Αναστασίου ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Ατομική Διπλωματική Εργασία ΠΡΟΣOΜΟΙΩΣΗ ΚΑΙ ΠΕΙΡΑΜΑΤΙΚΗ ΑΞΙΟΛΟΓΗΣΗ ΠΑΡΑΛΛΗΛΩΝ ΑΛΓΟΡΙΘΜΩΝ ΣΤΗΝ ΠΛΑΤΦΟΡΜΑ XMT Άντρια Αναστασίου ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Μάιος 2015 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ

Διαβάστε περισσότερα

Εικονική Μνήμη (Virtual Μemory)

Εικονική Μνήμη (Virtual Μemory) ΗΥ 431 Αρχιτεκτονική Παραλλήλων Συστημάτων Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

Διαβάστε περισσότερα

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

Κατανεμημένα Συστήματα Κατανεμημένα Συστήματα Σημειώσεις εργαστηρίου Lab#5 - SISD, SIMD, Νόμος του Amdahl, Γράφος εξάρτησης Νεβράντζας Βάιος-Γερμανός Λάρισα, Φεβρουάριος 2013 Lab#5, σελίδα 1 Περίληψη Στο 2ο μέρος του εργαστηριακού

Διαβάστε περισσότερα

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος Εισαγωγή στους Αλγόριθµους Αλγόριθµοι Τι είναι αλγόριθµος; Τι µπορεί να υπολογίσει ένας αλγόριθµος; Πως αξιολογείται ένας αλγόριθµος; Παύλος Εφραιµίδης pefraimi@ee.duth.gr Αλγόριθµοι Εισαγωγικές Έννοιες

Διαβάστε περισσότερα

Συστήµατα Παράλληλης Επεξεργασίας. Παράλληλοςπρογραµµατισµός: Υλοποίηση παράλληλων προγραµµάτων

Συστήµατα Παράλληλης Επεξεργασίας. Παράλληλοςπρογραµµατισµός: Υλοποίηση παράλληλων προγραµµάτων Παράλληλοςπρογραµµατισµός: Υλοποίηση παράλληλων προγραµµάτων Σύνοψη παρουσίασης «Μιλώντας»παράλληλα SPMD Master / Worker parallel for Fork / Join Υποστηρικτικές δοµές δεδοµένων Μοιραζόµενα δεδοµένα Μοιραζόµενες

Διαβάστε περισσότερα

Ατομική Διπλωματική Εργασία ΠΡΟΣΟΜΟΙΩΣΗ ΚΑΙ ΠΕΙΡΑΜΑΤΙΚΗ ΑΞΙΟΛΟΓΗΣΗ ΕΥΡΩΣΤΩΝ ΠΑΡΑΛΛΗΛΩΝ ΑΛΓΟΡΙΘΜΩΝ ΣΤΗΝ ΠΛΑΤΦΟΡΜΑ XMT.

Ατομική Διπλωματική Εργασία ΠΡΟΣΟΜΟΙΩΣΗ ΚΑΙ ΠΕΙΡΑΜΑΤΙΚΗ ΑΞΙΟΛΟΓΗΣΗ ΕΥΡΩΣΤΩΝ ΠΑΡΑΛΛΗΛΩΝ ΑΛΓΟΡΙΘΜΩΝ ΣΤΗΝ ΠΛΑΤΦΟΡΜΑ XMT. Ατομική Διπλωματική Εργασία ΠΡΟΣΟΜΟΙΩΣΗ ΚΑΙ ΠΕΙΡΑΜΑΤΙΚΗ ΑΞΙΟΛΟΓΗΣΗ ΕΥΡΩΣΤΩΝ ΠΑΡΑΛΛΗΛΩΝ ΑΛΓΟΡΙΘΜΩΝ ΣΤΗΝ ΠΛΑΤΦΟΡΜΑ XMT Ευστάθιος Ιωακείμ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Μάιος 2012 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ

Διαβάστε περισσότερα

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο Εισαγωγικές Έννοιες ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

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

Άρα, Τ ser = (A 0 +B 0 +B 0 +A 0 ) επίπεδο 0 + (A 1 +B 1 +A 1 ) επίπεδο 1 + +(B 5 ) επίπεδο 5 = 25[χρονικές µονάδες] Α. Στο παρακάτω διάγραµµα εµφανίζεται η εκτέλεση ενός παράλληλου αλγόριθµου που λύνει το ίδιο πρόβληµα µε έναν ακολουθιακό αλγόριθµο χωρίς πλεονασµό. Τα Α i και B i αντιστοιχούν σε ακολουθιακά υποέργα

Διαβάστε περισσότερα

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Ιεραρχία συχνά και το

Διαβάστε περισσότερα

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας

Διαβάστε περισσότερα

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Για βελτίωση της απόδοσης

Διαβάστε περισσότερα

Προγραμματισμός συστημάτων UNIX/POSIX. Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις

Προγραμματισμός συστημάτων UNIX/POSIX. Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις Προγραμματισμός συστημάτων UNIX/POSIX Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις Βελτιστοποιήσεις με στόχο τις επιδόσεις Σε αρκετές περιπτώσεις δεν αρκεί να

Διαβάστε περισσότερα

Διεργασίες και Νήματα (2/2)

Διεργασίες και Νήματα (2/2) Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Διεργασίες και Νήματα (2/2) Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2016-2017 Νήματα

Διαβάστε περισσότερα

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων

Διαβάστε περισσότερα

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική

Διαβάστε περισσότερα

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου ΣΥΣΤΗΜΑΤΑ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ Μάθημα Επιλογής Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου Δρ. Γεώργιος Κεραμίδας e-mail: gkeramidas@teimes.gr 1 Διεργασίες: Κατάσταση Εκτέλεσης (3-σταδίων) Κατάσταση

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΑΡΧΙΤΕΚΤΟΝΙΚΗ

Διαβάστε περισσότερα

Matrix Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι. Αλγόριθμοι» Γ. Καούρη Β. Μήτσου

Matrix Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι. Αλγόριθμοι» Γ. Καούρη Β. Μήτσου Matrix Algorithms Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Γ. Καούρη Β. Μήτσου Περιεχόμενα παρουσίασης Πολλαπλασιασμός πίνακα με διάνυσμα Πολλαπλασιασμός πινάκων Επίλυση τριγωνικού

Διαβάστε περισσότερα

Η ΤΑΞΙΝΟΜΗΣΗ ΤΟΥ FLYNN!!! 1 ο ΕΠΑΛ ΡΟΔΟΥ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ!!!! Χατζηνικόλας Κώστας www.costaschatzinikolas.gr

Η ΤΑΞΙΝΟΜΗΣΗ ΤΟΥ FLYNN!!! 1 ο ΕΠΑΛ ΡΟΔΟΥ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ!!!! Χατζηνικόλας Κώστας www.costaschatzinikolas.gr Η ΤΑΞΙΝΟΜΗΣΗ ΤΟΥ FLYNN 1 ο ΕΠΑΛ ΡΟΔΟΥ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Χατζηνικόλας Κώστας www.costaschatzinikolas.gr Τα 4 Είδη Των Αρχιτεκτονικών Των Σύγχρονων Η/Υ Ο Michael J. Flynn 1 το 1966 πρότεινε τον χωρισμό

Διαβάστε περισσότερα

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Πρόγραμμα και εκτέλεση προγράμματος Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

Διαβάστε περισσότερα

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

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg

Διαβάστε περισσότερα

Χρονοδρομολογητής Κυκλικής Επαναφοράς

Χρονοδρομολογητής Κυκλικής Επαναφοράς Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων 4 η Εργαστηριακή Άσκηση: Χρονοδρομολογητής Κυκλικής Επαναφοράς Λειτουργικά Συστήματα Υπολογιστών

Διαβάστε περισσότερα

εισαγωγικές έννοιες Παύλος Εφραιμίδης Δομές Δεδομένων και

εισαγωγικές έννοιες Παύλος Εφραιμίδης Δομές Δεδομένων και Παύλος Εφραιμίδης 1 περιεχόμενα ενθετική ταξινόμηση ανάλυση αλγορίθμων σχεδίαση αλγορίθμων 2 ενθετική ταξινόμηση 3 ενθετική ταξινόμηση Βασική αρχή: Επιλέγει ένα-έναταστοιχείατηςμηταξινομημένης ακολουθίας

Διαβάστε περισσότερα

Ατομική Διπλωματική Εργασία ΠΡΟΣΟΜΟΙΩΣΗ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΠΑΡΑΛΛΗΛΩΝ ΑΛΓΟΡΙΘΜΩΝ ΣΤΟ ΠΕΡΙΒΑΛΛΟΝ XMT. Ελένη Παντελή ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Ατομική Διπλωματική Εργασία ΠΡΟΣΟΜΟΙΩΣΗ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΠΑΡΑΛΛΗΛΩΝ ΑΛΓΟΡΙΘΜΩΝ ΣΤΟ ΠΕΡΙΒΑΛΛΟΝ XMT. Ελένη Παντελή ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Ατομική Διπλωματική Εργασία ΠΡΟΣΟΜΟΙΩΣΗ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΠΑΡΑΛΛΗΛΩΝ ΑΛΓΟΡΙΘΜΩΝ ΣΤΟ ΠΕΡΙΒΑΛΛΟΝ XMT Ελένη Παντελή ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Μάιος 2010 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΣΟΜΟΙΩΣΗ

Διαβάστε περισσότερα

Ασυμπτωτικός Συμβολισμός

Ασυμπτωτικός Συμβολισμός Ασυμπτωτικός Συμβολισμός Επιμέλεια διαφανειών: Δημήτρης Φωτάκης (λίγες προσθήκες: Άρης Παγουρτζής) Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Υπολογιστική Πολυπλοκότητα

Διαβάστε περισσότερα

Προγραμματισμός Συστημάτων Υψηλών Επιδόσεων (ΗΥ421) 3η Εργαστηριακή Άσκηση

Προγραμματισμός Συστημάτων Υψηλών Επιδόσεων (ΗΥ421) 3η Εργαστηριακή Άσκηση Προγραμματισμός Συστημάτων Υψηλών Επιδόσεων (ΗΥ421) 3η Εργαστηριακή Άσκηση ΟΝΟΜΑ: Ιωαννίδης Σταύρος ΑΕΜ: 755 Αποτελέσματα devicequery Profiling με το Vtune Το profiling έδειξε πως οι πιο αργές συναρτήσεις

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΑΡΑΛΛΗΛΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΜΕ OpenMP (2 ο Μέρος)

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΑΡΑΛΛΗΛΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΜΕ OpenMP (2 ο Μέρος) ΕΡΓΑΛΕΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΑΡΑΛΛΗΛΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΜΕ OpenMP (2 ο Μέρος) Νίκος Τρυφωνίδης Εφαρμογή 7: Ανισορροπία Το πρόγραμμα imbalance.c περιέχει ένα loop το οποίο έχει μεγαλύτερη εργασία

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Μνήμης Βασίλης Σακκάς 6/12/2013 1 Διαχείριση Μνήμης 1 Το τμήμα του Λ/Σ που διαχειρίζεται τη μνήμη λέγεται Διαχειριστής Μνήμης (Memory manager). Καθήκον του είναι

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 7 «Διαχείριση Μνήμης» Διδάσκων: Δ. Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Κύρια Μνήμη 1. Εισαγωγή 2. Βασική διαχείριση μνήμης 3. Μνήμη και πολυπρογραμματισμός 4. Τμηματοποίηση

Διαβάστε περισσότερα

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

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο

Διαβάστε περισσότερα