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

Σχετικά έγγραφα
Παρουσίαση 1 ης Άσκησης:

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

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

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

Σημειωματάριο Δευτέρας 4 Δεκ. 2017

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

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

All Pairs Shortest Path

Αναζήτηση Κατά Πλάτος

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

ΠΛΗ111. Ανοιξη Μάθηµα 10 ο. Γράφοι. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

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

Αναζήτηση Κατά Πλάτος

Αναζήτηση Κατά Πλάτος

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

Δομές Δεδομένων και Αλγόριθμοι

Διάλεξη 29: Γράφοι. Διδάσκων: Παναγιώτης Ανδρέου

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

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

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

Βελτιστοποίηση και Παραλληλοποίηση Κώδικα για Αλγορίθμους Γράφων ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

Αλγόριθμοι Αναζήτησης

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

Αναζήτηση Κατά Πλάτος

Συντομότερες Διαδρομές

Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

Αναζήτηση Κατά Βάθος. Επιµέλεια διαφανειών:. Φωτάκης διαφάνειες για SCC: A. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Συντομότερα Μονοπάτια για Όλα τα Ζεύγη Κορυφών

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

Συντομότερες Διαδρομές

Εισαγωγή στην Επιστήμη των Υπολογιστών

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 2005 Σύνολο μονάδων: 91

Συντομότερες ιαδρομές

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

Διδάσκων: Παναγιώτης Ανδρέου

Αναζήτηση Κατά Βάθος. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Δυναμικός προγραμματισμός για δέντρα

Στοιχεία Θεωρίας Γράφων (Graph Theory)


Δοµές Δεδοµένων & Ανάλυση Αλγορίθµων 3ο Εξάµηνο. Γραφήµατα. (Graphs)

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

Άσκηση 1. Ψευδοκώδικας Kruskal. Παρακάτω βλέπουμε την εφαρμογή του στο παρακάτω συνδεδεμένο γράφημα.

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

3η Σειρά Γραπτών Ασκήσεων

Βασικές Δοµές Δεδοµένων. Σύντοµη επανάληψη (ΕΠΛ 035).

Συντομότερες ιαδρομές

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

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

Σειρά Προβλημάτων 5 Λύσεις

3 η ΑΣΚΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ

u v 4 w G 2 G 1 u v w x y z 4

Μέγιστη Ροή Ελάχιστη Τομή

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to

ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 11-1

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

Θέματα Εφαρμογών Βάσεων Δεδομένων: Ιδιωτικότητα Δεδομένων

Κατ οίκον Εργασία 5 Σκελετοί Λύσεων

Αναζήτηση Κατά Βάθος. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. Άσκηση 5: Παράλληλος προγραμματισμός σε επεξεργαστές γραφικών

Διάλεξη 18: Γράφοι I Εισαγωγή

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

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

Εισαγωγή στους Αλγορίθμους

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

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

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόγχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Ενότητα 10 Γράφοι (ή Γραφήµατα)

Αλγόριθµοι Γραφηµάτων

ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Μεταγλωττιστές Βελτιστοποίηση

Η επικράτηση των ψηφιακών κυκλωμάτων 1o μέρος

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

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

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

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

Λύσεις 4ης Σειράς Ασκήσεων

Δυναµικός Προγραµµατισµός (ΔΠ)

Γράφοι. Αλγόριθμοι και πολυπλοκότητα. Στάθης Ζάχος, Δημήτρης Φωτάκης

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

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

FX10 SIMD SIMD. [3] Dekker [4] IEEE754. a.lo. (SpMV Sparse matrix and vector product) IEEE754 IEEE754 [5] Double-Double Knuth FMA FMA FX10 FMA SIMD

Απλές Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες απλές Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλή

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

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

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

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

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

Δομές Δεδομένων και Αλγόριθμοι

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο

Σειρά Προβλημάτων 5 Λύσεις

Κλάσεις Πολυπλοκότητας

Σχέσεις. Διμελής Σχέση. ΣτοΊδιοΣύνολο. Αναπαράσταση

Επιχειρησιακή Έρευνα I

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

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα

ΕΡΓΑΣΙΑ ΣΤΟ ΜΑΘΗΜΑ Λ03Β ΑΛΓΟΡΙΘΜΟΙ ΔΙΚΤΥΩΝ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ ΦΛΕΒΑΡΗΣ 2004

Θεωρητικό Μέρος. int rec(int n) { int n1, n2; if (n <= 5) then return n; else { n1 = rec(n-5); n2 = rec(n-3); return (n1+n2); } }

Transcript:

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

Αλγόριθμος Floyd-Warshall (FW) l Εύρεση ελάχιστου μονοπατιού ανάμεσα σε οποιοδήποτε ζεύγος κόμβων ενός κατευθυνόμενου γράφου (τα βάρη των ακμών μπορούν να είναι και αρνητικά). for (k=0; k<n; k++) for (i=0; i<n; i++) for (j=0; j<n; j++) A[i][j] = min(a[i][j], A[i][k]+A[k][j]); l l l Για κάθε χρονικό βήμα k υπολογίζει για κάθε ζεύγος κόμβων i-j αν υπάρχει συντομότερο μονοπάτι από τον i προς τον j περνώντας από το κόμβο k N: αριθμός κόμβων του γράφου Α: πίνακας διπλανών κορυφών (αν i,j δεν συνδέονται τότε Α[i][j] = αρχικά) l Πολυπλοκότητα: Θ(n 3 ) 2

Ακ. Έτος 2010-2011 Παράδειγμα: γράφος 8 κόμβων

Ακ. Έτος 2010-2011 Παράδειγμα: γράφος 8 κόμβων

Ακ. Έτος 2010-2011 Παράδειγμα: γράφος 8 κόμβων

Σειριακή και παράλληλη εκτέλεση l Για μεγάλα Ν (ο Α δεν χωράει στην cache), ο FW είναι memory bound: Ο πίνακας Α πρέπει να μεταφέρεται από την κύρια μνήμη σε κάθε επανάληψη k Οι πράξεις που γίνονται είναι πολύ απλές (σύγκριση / πρόσθεση) σε ακέραιους ή πραγματικούς απλής ακρίβειας l Παράλληλη εκτέλεση: Τα loops i, j είναι παράλληλα Ο αλγόριθμος δεν κλιμακώνει καλά σε αρχιτεκτονικές κοινής μνήμης 6

l J.-S. Park, M. Penner, and V. K. Prasanna, Optimizing Graph Algorithms for Improved Cache Performance, IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 15, NO. 9, SEPTEMBER 2004. FWR (A, B, C) if (base case) FWI (A, B, C) else FWR (A 11, B 11, C 11 ); FWR (A 12, B 11, C 12 ); FWR (A 21, B 21, C 11 ); FWR (A 22, B 21, C 12 ); FWR (A 22, B 21, C 12 ); FWR (A 21, B 21, C 11 ); FWR (A 12, B 11, C 12 ); FWR (A 11, B 11, C 11 ); FWI (A, B, C) for (k=0; k<n; k++) for (i=0; i<n; i++) for (j=0; j<n; j++) A[i][j] = min(a[i][j], B[i][k]+C[k][j]); l Καλείται ως: FWR(A, A, A); 7

A 00 A 01 A 10 A 11 8

A 00 A 01 A 10 A 11 9

A 00 A 01 A 10 A 11 10

A 00 A 01 A 10 A 11 11

A 00 A 01 A 10 A 11 12

A 00 A 01 A 10 A 11 13

A 00 A 01 A 10 A 11 14

A 00 A 01 A 10 A 11 15

A 00 A 01 A 10 A 11 16

FWR (A, B, C) if (base case) FWI (A, B, C) else FWR (A 00, B 00, C 00 ); FWR (A 01, B 00, C 01 ); FWR (A 10, B 10, C 00 ); FWR (A 11, B 10, C 01 ); FWR (A 11, B 10, C 01 ); FWR (A 10, B 10, C 00 ); FWR (A 01, B 00, C 01 ); FWR (A 00, B 00, C 00 ); 1 2 3 4 5 6 Παραλληλία 17

tiled 1 2 2 2 2 3 3 3 2 3 3 3 6 5 6 6 2 3 3 3 5 4 5 5 6 5 6 6 9 9 8 9 6 5 6 6 9 9 8 9 8 8 7 8 12 12 12 11 9 8 9 12 12 12 11 12 12 12 11 11 11 11 10 18

l sandman: 4 x Intel Xeon E5-4620 (Sandy Bridge) Συνολικά 32 πυρήνες (και 64 threads) Περιβάλλον εκτέλεσης Core 0 Core 1 Core 2 Core 3 Core 0 Core 1 Core 2 Core 3 (NUMA Node 0) 64GB RAM L3 16MiB L3 16MiB (NUMA Node 1) 64GB RAM Core 4 Core 5 Core 6 Core 7 Core 4 Core 5 Core 6 Core 7 Core 0 Core 1 Core 2 Core 3 Core 0 Core 1 Core 2 Core 3 (NUMA Node 2) 64GB RAM L3 16MiB L3 16MiB (NUMA Node 3) 64GB RAM Core 4 Core 5 Core 6 Core 7 Core 4 Core 5 Core 6 Core 7 19

Οδηγίες l Για χρήση του sandman: $ qsub q serial l nodes=sandman:ppn=64 <script> l Μπορείτε να επιλέξετε μεταξύ OpenMP και ΤΒΒs για την εκπόνηση της άσκησης l Για μεταγλώττιση εκτέλεση προγραμμάτων σε TBBs θα δοθούν οδηγίες και υλικό από τη λίστα l Θα βρείτε τον κώδικα της άσκησης στον scirouter στο path: /home/parallel/pps/2016-17/a2 20