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

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

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

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

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

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

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

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

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

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

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

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

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Τεχνολογία & Καινοτομία - Αρχές Βιομηχανικής Επιστήμης

Εισαγωγή στην Διοίκηση Επιχειρήσεων

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

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Άσκηση Αλγόριθμος Dijkstra

Διοικητική Λογιστική

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Τεχνοοικονομική Μελέτη

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Ιστορία της μετάφρασης

Ψηφιακή Επεξεργασία Εικόνων

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Λογιστική Κόστους Ενότητα 10: Ασκήσεις Προτύπου Κόστους Αποκλίσεων.

Μαθηματική Ανάλυση Ι

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Μηχανολογικό Σχέδιο Ι

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal

Εισαγωγή στον δομημένο προγραμματισμό

Εισαγωγή στον δομημένο προγραμματισμό

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

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

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Εισαγωγή στον δομημένο προγραμματισμό

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

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Εισαγωγή στην πληροφορική

Κοινωνιολογία της Εκπαίδευσης

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

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Μαθηματική Ανάλυση ΙI

Εκκλησιαστικό Δίκαιο

Λογιστική Κόστους. Ενότητα 4: ΣΥΜΠΕΡΙΦΟΡΑ - ΦΥΣΗ ΚΟΣΤΟΥΣ. Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής

Εισαγωγή στην πληροφορική

Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Διοικητική Λογιστική

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Λογιστική Κόστους Ενότητα 5: Προορισμός Κόστους

Εκκλησιαστικό Δίκαιο

Μαθηματική Ανάλυση Ι

Βέλτιστος Έλεγχος Συστημάτων

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

Βάσεις Περιβαλλοντικών Δεδομένων

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Εργαστήριο Χημείας Ενώσεων Συναρμογής

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

Κβαντική Επεξεργασία Πληροφορίας

Προγραμματισμός H/Y Ενότητα 4: Δείκτες. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΟΙΚΟΝΟΜΕΤΡΙΑ. Ενότητα 1: Εκτιμητές και Ιδιότητες. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

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

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

Μαθηματική Ανάλυση Ι

Τεχνικό Σχέδιο - CAD

Εργαστήριο Χημείας Ενώσεων Συναρμογής

Εισαγωγή στην Πληροφορική

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Θέματα Εφαρμοσμένης. Ενότητα 14.2: Η ψήφος στα πρόσωπα. Θεόδωρος Χατζηπαντελής Τμήμα Πολιτικών Επιστημών ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Εισαγωγή στους Υπολογιστές

Εφαρμογές πληροφορικής σε θέματα πολιτικού μηχανικού

Διοίκηση Επιχειρήσεων

Διδακτική της Πληροφορικής

Τεχνολογία και Καινοτομία - Οικονομική Επιστήμη και Επιχειρηματικότητα

Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Κοινωνιολογία της Εκπαίδευσης

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Transcript:

Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 2: OpenMPI Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ψηφιακά Μαθήματα στο Πανεπιστήμιο Δυτικής Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Σκοπός της Ενότητας Η κατανόηση της αποστολής και λήψης μηνυμάτων με το MPI. 4

Υλοποιήσεις του MPI OpenMPI (The Open MPI Development Team). MPICH, MPICH2 (Argonne National Laboatory). LAM MPI (Local Area Multicomputer - ohio Supercomputer Center). CHIMP (Common High Level Interfase to Message Passing -Edinburg Parralel Computing Center). Εμπορικές Υλοποιήσεις: IBM MPI, HP MPI, Sun MPI, Digital MPI, SGI MPI προσαρμοσμένες στις ανάγκες κάθε εταιρίας. 5

Πότε θα χρησιμοποιήσουμε τη συνάρτηση MPI; Όταν χρειαζόμαστε ένα portable παράλληλο πρόγραμμα. Όταν θέλουμε να γράψουμε μια παράλληλη βιβλιοθήκη. Όταν μας ενδιαφέρει η απόδοση. 6

Πότε δε θα χρησιμοποιήσουμε το OpenMPI; Όταν μπορούμε να χρησιμοποιήσουμε κάποια παράλληλη γλώσσα, π.χ. Paralell Fortran 90. Όταν δεν χρειαζόμαστε παραλληλισμό. 7

Τι άλλο υπάρχει εκτός από το MPI; PVM Parralel Virtual Machine. Κατάλληλο για ετερογενή δίκτυα. Εφαρμογές μεγάλης σταθερότητας. Επιτρέπει προσθήκη / αφαίρεση υπολογιστικών κόμβων. 8

Στο προηγούμενο εργαστήριο... #include <stdio.h> #include <mpi.h> int main(int argc, char *argv[]) { int rank, size; MPI_Init(&argc, &argv); MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); printf ("Hello world! I am %d of %d \n", rank, size); MPI_Finalize(); return 0; } 9

Είδη επικοινωνίας στο OpenMPI Επικοινωνία από σημείο σε σημείο (point to point. communication: blocking, non blocking). Συλλογικές επικοινωνίες (collective communicaions: broadcasting scattering, gather, reduce). 10

Τύποι δεδομένων στο OpenMPI 11

Πρότυπα συναρτήσεων Το πρότυπό έχει την μορφή: MPI_Abort Int MPI_Abort (MPI_Comm comm, int * err); Καλείται στην περίπτωση που η MPI_Init αποτυγχάνει να αρχικοποιήσει το περιβάλλον MPI. Παράδειγα: MPI_Abort (MPI_COMM_WORLD, err); H MPI_Init αν επιτύχει την αρχικοποίηση επιστρέφει 0. Συνήθως ελέγχουμε την τιμή που επιστρέφει η MPI_Init και αν είναι διαφορετική από 0 (με μια δομή if) τότε καλείται η MPI_Abort. 12

MPI_Init και MPI_Abort Για να γίνει ο έλεγχος της αρχικοποίησης, ελέγχουμε την τιμή που επιστρέφει η συνάρτηση MPI_Init (ή οποιαδήποτε άλλη συνάρτηση). Ακολουθεί μια δομή ελέγχου: if (error_code!= MPI_SUCESS ) {... } Η σταθερά MPI_SUCCESS ορίζεται στο include αρχείο. Μπορεί να χρησιμοποιηθεί για να ελεγχθούν όλες τις συναρτήσεις του MPI. Πρέπει να έχει οριστεί: int error_code; 13

Ρουτίνα αποστολής μηνυμάτων MPI_Send MPI_Send (void *buffer, int count, MPI_Datatype data_type, int destination, int tag, MPI_Comm communicator): buffer: Δεδοµένα που θα αποσταλλούν. count: Αριθµός στοιχείων του buffer. data_type: Τύπος των δεδοµένων (π.χ. floats, integers). destination: Παραλήπτης δεδοµένων. tag: O δείκτης της επικοινωνίας. communicator: Το όνοµα της οµάδας των διεργασιών. 14

Ρουτίνα αποστολής μηνυμάτων MPI_Send Η συνάρτηση MPI Send χρησιμοποιείται για αποστολή μηνύματος σε κάποια από τις διεργασίες του communicator. Παράδειγμα χρήσης: MPI Send (buffer, 100, MPI_CHAR, 1, 0, MPI_COMM_WORLD); 15

Ρουτίνα λήψης μηνυμάτων MPI_Recv (1/2) MPI_Recv(void *buffer, int count, MPI_Datatype data_type, int source, int tag, MPI_Comm communicator, MPI_Status status): buffer: Δεδομένα που θα αποσταλούν. count: Αριθμός στοιχείων του buffer. data_type: Τύπος των δεδομένων (π.χ. floats, integers). source: Αποστολέας δεδομένων. tag: Ο δείκτης της επικοινωνίας. communicator: Το όνομα της ομάδας των διεργασιών. status: Χρησιμοποιείται για έλεγχο σε περίπτωση σφάλματος. 16

Ρουτίνα λήψης μηνυμάτων MPI_Recv (2/2) Η συνάρτηση MPI Recv χρησιμοποιείται για παραλαβή μηνύματος από κάποια από τις διεργασίες του communicator. Παράδειγμα χρήσης: MPI Recv (buffer, 50, MPI_DOUBLE, 3, 0, MPI_COMM_WORLD, &status); Απαιτείται δήλωση της μορφής: MPI_Status status; 17

Χρήση MPI_Send, MPI_Receive Δηλώνουμε μια μεταβλητή για μήνυμα αποστολής: char outmessage[]='hi there Δηλώνουμε μια μεταβλητή για μήνυμα λήψης. Προσοχή στο μέγεθος του εισερχόμενου μηνύματος: char inmessage[7] Δηλώνουμε το MPI_Status status; 18

Τέλος Ενότητας 19

Σημείωμα Αναφοράς Copyright, Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών, Μηνάς Δασυγένης. «Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας». Έκδοση: 1.0. Κοζάνη 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: https://eclass.uowm.gr/courses/icte268/ 20

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Όχι Παράγωγα Έργα Μη Εμπορική Χρήση 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] h t t p ://creativecommons.org/licenses/by-nc-nd/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό 21

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους. 22