Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Παράλληλη/Κατανεμημένη Επεξεργασία και Εφαρμογές

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Παράλληλη/Κατανεμημένη Επεξεργασία και Εφαρμογές"— Μεταγράφημα παρουσίασης:

1 Παράλληλη/Κατανεμημένη Επεξεργασία και Εφαρμογές
Εισαγωγή στο Message Passing Interface (MPI)

2 Περιεχόμενα Ταξινόμηση Flynn
Οργάνωση μνήμης σε παράλληλους υπολογιστές Speedup και efficiency Σύγχρονη/Ασύγχρονη επικοινωνία MPI εντολές

3 Ταξινόμηση Flynn SISD MISD SIMD MIMD Von Neumann model
Κανένα εμπορικό παράλληλο σύστημα δεν έχει γίνει SIMD Αποδοτικά σε παραλληλισμό δεδομένων MIMD Multicore

4 Οργάνωση μνήμης σε παράλληλους υπολογιστές
Distributed memory Κάθε υπολογιστής έχει τη δικιά του τοπική μνήμη Για να έχει πρόσβαση στην τοπική μνήμη ενός υπολογιστή ένας άλλος: MPI Shared memory Προσοχή στις προσπελάσεις μνήμης

5 Speedup και efficiency
Cost of a parallel program: Cp(n) = p Tp(n) n: input size p: processors Speedup Sp(n) = T*(n) / Tp(n) T*(n): Ο καλύτερος χρόνος του σειριακού προγράμματος Tp(n): Ο χρόνος του παράλληλου προγράμματος

6 Speedup και efficiency
Ep(n) = T*(n) / (p Tp(n)) Το ιδανικό speedup που είναι ίσο με τον αριθμό των processors αντιστοιχεί σε efficiency 1.

7 Σύγχρονη/Ασύγχρονη επικοινωνία
Σύγχρονη επικοινωνία Δεν τελειώνει η επικοινωνία αν και οι 2 διεργασίες δεν έχουν αρχίσει τις λειτουργίες απαραίτητες για επικοινωνία Ασύγχρονη επικοινωνία Η αποστολή δεδομένων μπορεί να ξεκινήσει χωρίς καμιά συνεργασία με τη διεργασία που θα λάβει

8 MPI εντολές int MPI_Init( int *argc, char ***argv )
int MPI_Finalize( void ) Τερματίζει το περιβάλλον του MPI int MPI_Comm_rank( MPI_Comm comm, int *rank ) comm: communicator rank: σε αυτή τη μεταβλητή αποθηκεύεται το id της διεργασίας

9 MPI εντολές int MPI_Comm_size( MPI_Comm comm, int *size )
comm: communicator size: σε αυτή τη μεταβλητή αποθηκεύεται ο αριθμός των διεργασιών κατά το χρόνο εκτέλεσης

10 MPI εντολές int MPI_Send(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) buf: δεδομένα για αποστολή count: Πλήθος των στοιχείων που θα αποσταλούν datatype: Τύπος δεδομένων που θα αποσταλούν dest: Αριθμός διεργασίας στην οποία θα πάνε τα δεδομένα tag: Χρησιμοποιείται για να διαχωρίζονται τα μηνύματα από τον ίδιο αποστολέα comm: Δηλώνει τον communicator που θα χρησιμοποιηθεί

11 MPI εντολές int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status) buf: Θέση μνήμης όπου θα αποθηκευτούν τα δεδομένα count: μέγιστος αριθμός δεδομένων που μπορούν να ληφθούν datatype: τύπος δεδομένων που θα ληφθούν source: διεργασία από την οποία θα ληφθούν δεδομένα tag: Χρησιμοποιείται για να διαχωρίζονται τα μηνύματα που λαμβάνονται comm: ο communicator που θα χρησιμοποιηθεί status: Πληροφορίες για το μήνυμα που λήφθηκε

12 Αναφορές Rauber – Runger, Parallel Programming, Springer


Κατέβασμα ppt "Παράλληλη/Κατανεμημένη Επεξεργασία και Εφαρμογές"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google