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

Σχετικά έγγραφα
Minimum Spanning Tree: Prim's Algorithm

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

Γράφοι: κατευθυνόμενοι και μη

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

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

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων

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

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 9: Άπληστοι Αλγόριθμοι. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Δομές Δεδομένων Ενότητα 6

Ελάχιστο Συνδετικό έντρο

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

ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ

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

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

Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων)

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων

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

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

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

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

ΕΚΔΟΣΗ 1.0 ΟΚΤΩΒΡΙΟΣ, 2017 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΤΟ ΠΡΩΤΟΚΟΛΛΟ TARRY ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

Θεωρία και Αλγόριθμοι Γράφων

Αλγόριθμοι και πολυπλοκότητα Depth-First Search

Γράφηµα (Graph) Εργαστήριο 10. Εισαγωγή

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

Partition of weighted sets (problems with numbers)

Ελάχιστο Συνδετικό Δέντρο

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

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

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

ΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο Δεύτερη Προγραμματιστική Εργασία

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

Ελάχιστο Συνδετικό Δέντρο

Ελάχιστο Συνδετικό Δέντρο

Multicut and Integer Multicomodity Flow in Trees (chap. 18) Αγγελής Γιώργος

Ελάχιστο Συνδετικό έντρο

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

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

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

Αλγόριθμοι και πολυπλοκότητα NP-Completeness (2)

Πρόβλημα του ελάχιστα εκτεταμένου δένδρου - Minimum spanning tree. Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ

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

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

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

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

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

Προβλήματα Ελάχιστου Κόστους Ροής σε Δίκτυο. Δίκτυα Ροής Ελάχιστου Κόστους (Minimum Cost Flow Networks)

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

Ελάχιστα Γεννητορικά ένδρα

ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ

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

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

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

ΑΝΤΙΣΤΟΙΧΗΣΕΙΣ ΟΡΩΝ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙOΥΝΤΑΙ ΣΤΟΥΣ ΤΟΜΟΥΣ Α ΚΑΙ Β ΤΗΣ ΘΕ «ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ» Ένα γράφημα αποτελείται από ένα σύνολο 94.

Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem

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

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

Κινητός και ιάχυτος Υπολογισµός (Mobile & Pervasive Computing) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D.

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

ΑΙΚΑΤΕΡΙΝΗ-ΠΑΝΑΓΙΩΤΑ ΣΤΟΥΚΑ ΝΙΚΟΛΑΟΣ ΛΑΜΠΡΟΥ. μπλ 2014

Κατανεμημένος και Παράλληλος Προγραμματισμός. Εισαγωγή στο MPI. Εγκατάσταση MPICH σε ένα ΗΥ 10/3/2017

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

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

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

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

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

Υπολογιστική Πολυπλοκότητα

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

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

Fractional Colorings and Zykov Products of graphs

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

Αλγόριθμοι Επανάληψη για πρόοδο

ΕΚΔΟΣΗ 1.1 ΑΠΡΙΛΙΟΣ, 2018 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΤΟ ΠΡΩΤΟΚΟΛΛΟ ECHO ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ

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

Αλγόριθμοι Γράφων. Κεφάλαιο Διάσχιση γράφων Γενικά Αναζήτηση κατά πλάτος (Breadth First Search)

Συνάφεια Κρυφής Μνήµης σε Επεκτάσιµα Μηχανήµατα

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

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

Σχέσεις, Ιδιότητες, Κλειστότητες

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

«Συγχρονισμός ρολογιών υπό την παρουσία σφαλμάτων»

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

Αλγόριθμοι εύρεσης ελάχιστων γεννητικών δέντρων (MST)

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

ΕΚΔΟΣΗ 1.1 ΜΑΙΟΣ, 2018 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΕΚΛΟΓΗ ΑΡΧΗΓΟΥ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ

Θεωρία και Αλγόριθμοι Γράφων

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

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Αλγόριθμοι και πολυπλοκότητα Τα συντομότερα μονοπάτια(shortest Paths)

ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ

Transcript:

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

Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς.

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 in the tree, find the minimumweight edge, and transfer it to the tree. 3. Repeat step 2 (until all vertices are in the tree). 1

2

3

4

P = ο αριθμός των διεργασιών N = ο αριθμός των κόμβων του γράφου Vi = το σύνολο των κόμβων που ανατίθενται στην διεργασία Pi, Pi = 0,, P-1 Ιδέα: κάθε διεργασία θα υπολογίζει παράλληλα τα Το ολικό ελάχιστο βρίσκεται με reduction πάνω σε μερικά ελάχιστα 5

Σε κάθε βήμα η βασική διεργασία P0 θα έχει το αποτέλεσμα του reduce operation, δηλαδή ποιος κόμβος θα προστεθέι στο δέντρο. Η διεργασία P0 θα κάνει Broadcast σε όλους το ποιος κόμβος προστέθηκε. Κάθε διεργασία ανανεώνει σε κάθε επανάληψη τις τιμές για τις αποστάσεις από το νέο MST για τους κόμβους που της αντιστοιχούν. 6

Διαμοιρασμός του πίνακα γειτνίασης και του πίνακα αποστάσεων σε 1D blocks. Γιατί ;; 7

Run time formulation Computation cost Σε κάθε βήμα το update των τιμών του πίνακα αποστάσεων σε κάθε διεργασία είναι Θ(n/p), αφού κάθε διεργασία έχει αναλάβει n/p κόμβους και το update με adjacencny matrix είναι Ο(1) Ο υπολογισμός του ελάχιστου πάνω στους p κόμβους είναι πάλι για κάθε διεργασία Θ(n/p) Για τις n επαναλήψεις computation cost= Θ(n* n/p) 8

Communication cost για υλοποίηση σε αρχιτεκτονική κατανεμημένης μνήμης Σε κάθε επανάληψη έχουμε all-to-one-reduction για υπολογισμό της ελάχιστης ακμής προς εισαγωγή (Θ( log p)) one-to-all broadcast για την γνωστοποίηση σε όλους της ακμής που τελικά εισάχθηκε στο MST (Θ( log p)) Κόστος: Θ(N log p) για τις Ν επαναλήψεις 9

Speedup and Efficiency 10

MPI: Message Passing Interface Όλες οι διεργασίες εκτελούν το ίδιο πρόγραμμα Κάθε διεργασία επεξεργάζεται υποσύνολο των δεδομένων ή διαφοροποιεί τη ροή εκτέλεσης της με βάση το βαθμό (rank) που της αποδίδει το MPI 11

Συλλογική Επικοινωνία στο MPI Παράδειγμα: Αποστολή του msg στις διεργασίες 1-7 από τη 0 MPI_Bcast(msg,count,MPI_FLOAT,0,MPI_COMM_WORLD); Γενικά: Για p διεργασίες έχουμε log 2 p βήματα επικοινωνίας 12

Broadcast communication tree 13

Reduce communication tree 14

speedup Αποτελέσματα speedup ( 6000 nodes ) 3,5 3 2,5 2 edges=4500935 1,5 edges=9003857 edges=13495971 1 0,5 0 1 2 3 4 number of processors 12/6/2015 15

Αποτελέσματα 3 time (6000 nodes) 2,5 2 1,5 edges=4500935 edges=9003857 edges=13495971 1 0,5 0 np=1 np=2 np=3 np=4 12/6/2015 16

Αποτελέσματα 3,5 speedup (8000 nodes) 3 2,5 2 1,5 edges=8002488 edges=15999071 edges=23998141 1 0,5 0 1 2 3 4 17

Αποτελέσματα 4,5 time (8000 nodes) 4 3,5 3 2,5 2 edges=8002488 edges=15999071 edges=23998141 1,5 1 0,5 0 np=1 np=2 np=3 np=4 12/6/2015 18

Αποτελέσματα speedup (10000 nodes) 3 2,5 2 1,5 1 edges density 0.25 edges density 0.5 edges density 0.75 0,5 0 1 2 3 4 number of processors 19

Αποτελέσματα 7 time (10000 nodes) 6 5 4 3 edges density 0.25 edges density 0.5 edges density 0.75 2 1 0 np=1 np=2 np=3 np=4 12/6/2015 20

speedup Αποτελέσματα speedup (12000 nodes) 3,5 3 2,5 2 edges density 0.25 1,5 edges density 0.5 edges density 0.75 1 0,5 0 1 2 3 4 number of processors 21

Αποτελέσματα 10 time (12000 nodes) 9 8 7 6 5 4 edges density 0.25 edges density 0.5 edges density 0.75 3 2 1 0 np=1 np=2 np=3 np=4 12/6/2015 22

speedup Αποτελέσματα speedup (14000 nodes) 2,5 2 1,5 edges density 0.25 1 edges density 0.5 edges density 0.75 0,5 0 1 2 3 4 nukber of processors 23

Αποτελέσματα 12 time (14000 nodes) 10 8 6 edges density 0.25 edges density 0.5 edges density 0.75 4 2 0 np=1 np=2 np=3 np=4 12/6/2015 24

Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς.