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

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

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

Transcript

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

2 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται στην άδεια χρήσης Creative Commons και ειδικότερα Αναφορά Μη εμπορική Χρήση Όχι Παράγωγο Έργο 3.0 Ελλάδα (Attribution Non Commercial Non-derivatives 3.0 Greece) CC BY-NC-ND 3.0 GR [ή επιλογή ενός άλλου από τους έξι συνδυασμούς] [και αντικατάσταση λογότυπου άδειας όπου αυτό έχει μπει (σελ. 1, σελ. 2 και τελευταία)] Εξαιρείται από την ως άνω άδεια υλικό που περιλαμβάνεται στις διαφάνειες του μαθήματος, και υπόκειται σε άλλου τύπου άδεια χρήσης. Η άδεια χρήσης στην οποία υπόκειται το υλικό αυτό αναφέρεται ρητώς. 2

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

4 EM 361: Παράλληλοι Υπολογισμοί Χαρμανδάρης Βαγγέλης, Τμήμα Εφαρμοσμένων Μαθηματικών Πανεπιστήμιο Κρήτης, Χειμερινό Εξάμηνο 2010/11 Κεφάλαιο 5: (B) Message Passing Interface (MPI)

5 Message Passing Interface (MPI) Βασική ιδέα: Ο χρήστης γράφει τον κώδικα (π.χ. σε C ή Fortran) και μετά χρησιμοποιεί τις εντολές της κατάλληλης βιβλιοθήκης για τον παραλληλισμό των διεργασιών. Θα δούμε πιο αναλυτικά: Τι είναι το MPI; Εισαγωγικά. Ένα απλό πρόγραμμα σε MPI. Υποπρογράμματα Διαχείρισης του MPI Παράλληλου Περιβάλλοντος. Υποπρογράμματα Επικοινωνίας των Διεργασιών. Τοπολογία ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 5

6 Τι Είναι το MPI; To MPI είναι μια βιβλιοθήκη υποπρογραμμάτων ανταλλαγής μηνυμάτων και μεταφοράς δεδομένων. Χαρακτηριστικά του MPI: Αποτελεσματικότητα, Φορητότιτα-Μεταβιβασιμότητα, Ευελιξία. Ανεπτυγμένο για πληθώρα (σχεδόν όλα) υπολογιστικών συστημάτων διαφορετικής αρχιτεκτονικής. Σχεδιασμένο το για C/C++ όσο και Fortran/ Fortran 90. Ιστορία και Εξέλιξη: 1980 αρχές 1990: Ανομοιογενές λογισμικό. Προβλήματα μεταφοράς προγραμμάτων. Ανάγκη δημιουργίας διεθνούς προτύπου : Καθιέρωση του MPI ως διεθνές πρότυπο. ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 6

7 Τι Είναι το MPI; Λόγοι χρησιμοποίησης του MPI: Διεθνές Πρότυπο: Το MPI είναι η στάνταρτ βιβλιοθήκη ανταλλαγής μηνυμάτων. Υποστηρίζεται από όλα τα υπολογιστικά συστήματα HPC (High Performance Computing). Διαθεσιμότητα: Υπάρχουν διάφορες διαθέσιμες υλοποιήσεις (implementations). Το λογισμικό είναι ελεύθερο. Αποτελεσματικότητα: οι διαφορετικές υλοποιήσεις εκμεταλλεύονται χαρακτηριστικά του hardware με αποτέλεσμα την καλύτερη απόδοση των προγραμμάτων. Φορητότιτα: οι κώδικες μεταφέρονται εύκολα σε διαφορετικά συστήματα. Λειτουργικότητα: Στο MPI-1 υπάρχουν 128 υποπρογράμμτα και στο MPI Το MPI είναι ανεπτυγμένο για συστήματα κοινής και κατανεμημένης μνήμης. ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 7

8 Γενική Δομή ενός Προγράμματος MPI ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 8

9 Παράδειγμα: Hello world πρόγραμμα Απλό πρόγραμμα σε C #include <stdio.h> #include "mpi.h" int main(argc,argv) { int numtasks, rank, MPI_Init (&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD, &numtasks); MPI_Comm_rank(MPI_COMM_WORLD, &rank); printf ("Hello world from process %d of %d\n", rank, numtasks); MPI_Finalize(); } ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 9

10 Παράδειγμα: Hello world πρόγραμμα Απλό πρόγραμμα σε Fortran program simple include 'mpif.h' integer numtasks, rank, ierr call MPI_INIT(ierr) call MPI_COMM_SIZE(MPI_COMM_WORLD, numtasks, ierr) call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr) print *, 'Hello world from process ', rank, 'of', numtasks call MPI_FINALIZE(ierr) stop end ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 10

11 Περιγραφή Απλού Προγράμματος Οι εντολές #include "mpi.h", include 'mpif.h' απαιτούνται από όλα τα προγράμματα / υπορουτίνες που χρησιμοποιούν MPI καθώς είναι αυτές που παρέχουν πρόσβαση στην βιβλιοθήκη MPI. Η διάταξη των συναρτήσεων MPI είναι: C/C++: MPI_Xxxxx (parameter, ) Παράδειγμα: MPI_Send (&buf, count, type, dest, comm) Όλες οι συναρτήσεις C του MPI επιστρέφουν δείκτες λαθών (error code) τύπου ακεραίου. Fortran: call MPI_XXXX (parameter,, ierr) Παράδειγμα: MPI_SEND (buf, count, type, dest, comm, ierr) Τα υποπρογράμματα Fortran επιστρέφουν δείκτες λαθών τύπου ακεραίου ως το τελευταίο όρισμά τους. Οι κοινές εντολές του προγράμματος (π.χ. print *, 'Hello world from process ', rank, 'of', numtasks) είναι τοπικές, δηλαδή εκτελούνται από κάθε επεξεργαστή. ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 11

12 Περιγραφή Απλού Προγράμματος: Υποπρογράμματα Διαχείρισης Διαχειριστής Επικοινωνίας (Δ.Ε.) - Communicator: Ένα σύνολο διεργασιών που μπορούν να στείλουν/λάβουν μηνύματα. MPI_COMM_WORLD είναι ο προκαθορισμένος Δ.Ε. Συνήθως ο αριθμός των διεργασιών συμπίπτει με τον αριθμό των επεξεργαστών που θέλουμε να χρησιμοποιήσουμε. Οι επεξεργαστές μπορεί να είναι οπουδήποτε. Ταξινόμηση: Μέσα στον Δ.Ε. κάθε διεργασία αριθμείται με ένα ακέραιο αριθμό (rank) ξεκινώντας από το 0. Δηλαδή Ρ διεργασίες αριθμούνται από 0 ως Ρ-1. Η ταξινόμηση χρησιμοποιείται από τον χρήστη στην επικοινωνία μεταξύ των διεργασιών (π.χ. if rank=0 do something / if rank=1 do something else). ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 12

13 Υποπρογράμματα-Συναρτήσεις Διαχείρισης MPI MPI_Init: Υποδηλώνει την έναρξη του MPI. Πρέπει να καλείται πριν από οποιαδήποτε άλλη εντολή του MPI. C: MPI_Init (&argc, &argv); Fortran: call MPI_INIT(ierr) MPI_Comm_size: Προσδιορίζει τον αριθμό των διεργασιών-επεξργαστών που σχετίζονται με τον ΔΕ. C: MPI_Comm_size (comm, &size); Fortran: call MPI_COMM_SIZE(comm, size, ierr) MPI_Comm_rank: Προσδιορίζει τον αριθμό της διεργασίας που καλείται μέσα στον ΔΕ. C: MPI_Comm_rank (comm, &rank); Fortran: call MPI_COMM_RANK(comm, rank, ierr) ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 13

14 Υποπρογράμματα Διαχείρισης MPI MPI_Abort: Τερματίζει όλες τις διεργασίες MPI που σχετίζονται με τον Δ.Ε. C: MPI_Abort (comm, ierr); Fortran: call MPI_ABORT(comm, ierr) MPI_Get_processor_name: Επιστρέφει το όνομα του επεξεργαστή καθώς και το μήκος (αριθμός χαρακτήρων) του ονόματος. C: MPI_Get_processor_name (&name, &namelength); Fortran: call MPI_GET_PROCESSOR_NAME(name, namelength) MPI_Wtime: Επιστρέφει τον χρόνο (wall time clock), σε δευτερόλεπτα ενός επεξεργαστή. Χρησιμοποιείται για μέτρηση του χρόνου εκτέλεσης μιας διεργασίας. C: MPI_Wtime (); Fortran: call MPI_WTIME() MPI_Finalize: Υποδηλώνει τη λήξη χρήσης του MPI. Πρέπει να καλείται στο τέλος. C: MPI_Finalize (&argc, &argv); Fortran: call MPI_FINALIZE(ierr) ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 14

15 Υποπρογράμματα Επικοινωνίας MPI Βασικά στοιχεία: Ποιος στέλνει το μήνυμα / που στάλθηκε το μήνυμα. Μέγεθος Τύπος των δεομένων που στάλθηκαν. Λήψη του μηνύματος Αναγνώριση των δεδομένων. Τύποι επικοινωνίας: Μια-προς-μια επικοινωνία (Point-to-Point Communication). Συλλογική επικοινωνία (Collective Communication). ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 15

16 Μια-προς-μια Επικοινωνία Point-to-Point Communication Η αποστολή / λήψη μηνυμάτων γίνεται ανάμεσα από μόνο δύο διεργασίες. Μια διεργασία εκτελεί την αποστολή και μια την λήψη. Διάφοροι τύποι συναρτήσεων αποστολής/λήψης μηνυμάτων: Συγχρονισμένη αποστολή (Synchronous send). Περιορισμένη αποστολή / περιορισμένη λήψη (Blocking send / Blocking receive). Μη-περιορισμένη αποστολή / Μη-περιορισμένη λήψη (Non-blocking send / Nonblocking receive). Συνδυασμένη αποστολή/λήψη (Combined send/receive). Κάθε τύπος συνάρτησης αποστολής μπορεί να συνδυαστεί με οποιοδήποτε τύπο συνάρτησης λήψης. Υπάρχουν επίσης αρκετές συναρτήσεις-υποπρογράμματα παρακολούθησης και ελέγχου αποστολής/λήψης μηνυμάτων. ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 16

17 Point-to-Point Communication / Buffering Θεωρητικά κάθε εντολή αποστολής μπορεί να είναι συγχρονισμένη με την εντολή λήψης. Όμως αυτό είναι πολύ σπάνιο. Παράδειγμα: Μια εντολή αποστολής εκτελείται 5 δευτερόλεπτα πριν την αντίστοιχη εντολή λήψης. Που βρίσκονται τα δεδομένα κατά τη διάρκεια της αναμονής; Πολλαπλά μηνύματα φτάνουν στη ίδια διεργασία. Τι γίνεται με τα δεδομένα που βρίσκονται σε αναμονή; Η υλοποίηση του MPI αποφασίζει τι συμβαίνει. Συνήθως δεσμεύεται ένας Προσωρινός Χώρος Μνήμης Συστήματος (ΠΧΜΣ) (System Buffer). Προσωρινός Χώρος Μνήμης Συστήματος: Διαχειρίζεται από το MPI, ο χρήστης δεν έχει πρόσβαση σε αυτόν. Έχει μικρή χωρητικότητα. Χρησιμοποιείται από εντολές αποστολής και λήψης. Βελτιώνει την απόδοση του προγράμματος. Ο χώρος μνήμης που δεσμεύουν οι μεταβλητές του κώδικα ονομάζεται Προσωρινός Χώρος Μνήμης Εφαρμογής (ΠΧΜΕ) (Application Buffer). ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 17

18 Περιορισμένη/Μη-περιορισμένη Αποστολή/Λήψη Περιορισμένη αποστολή/λήψη μηνυμάτων: Μια συνάρτηση περιορισμένης αποστολής θα «τερματίσει» (return) μόνο όταν ο ΠΧΜΕ μπορεί να επαναχρησιμοποιηθεί. Μπορεί να είναι συγχρονισμένη: υπάρχει επικοινωνία με την διεργασία που λαμβάνει για ασφαλή παραλαβή των δεδομένων. Μπορεί να είναι ασύγχρονη: αν ο ΠΧΜΣ «κρατάει» τα δεδομένα μέχρι αυτά να παραδοθούν. Μια συνάρτηση περιορισμένης λήψης θα «τερματίσει» μόνο όταν τα δεδομένα ληφθούν και μπορούν να χρησιμοποιηθούν. ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 18

19 Περιορισμένη/Μη-περιορισμένη Αποστολή/Λήψη Μη-περιορισμένη (Ελεύθερη) αποστολή/λήψη μηνυμάτων: Οι συναρτήσεις ελεύθερης αποστολής/λήψης «τερματίζουν» αμέσως χωρίς να περιμένουν καμία επικοινωνία επιβεβαίωσης. Οι συναρτήσεις ελεύθερης αποστολής/λήψης απλά «απαιτούν» από την βιβλιοθήκη MPI την εκτέλεση της επικοινωνίας. Ο χρήστης δεν γνωρίζει πότε αυτό θα γίνει. Δεν είναι ασφαλές να αλλάζουμε τον ΠΧΜΕ (δηλαδή τις μεταβλητές-δεδομένα) πριν βεβαιωθούμε ότι η εντολή αποστολής/λήψης διεκπεραιώθηκε. Υπάρχουν κατάλληλες συναρτήσεις αναμονής (wait routines) που βοηθούν σε αυτό. Συνήθως χρησιμοποιούνται για την πιθανή βελτίωση της απόδοσης με ταυτόχρονη επικοινωνία και εκτέλεση των διεργασιών. ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 19

20 Συναρτήσεις Μια-προς-μια Επικοινωνίας Περιορισμένη Αποστολή: MPI_Send (buffer, count, type, dest, tag, comm). Περιορισμένη Λήψη: MPI_Recv (buffer, count, type, source, tag, comm, status). Ελεύθερη Αποστολή: MPI_Isend (buffer, count, type, dest, tag, comm, request). Ελεύθερη Λήψη: MPI_Irecv (buffer, count, type, source, tag, comm, request). Ορίσματα: buffer: Τα δεδομένα που θα σταλούν/ληφθούν, τα ονόματα των μεταβλητών. count: Ο αριθμός των δεδομένων. type: Ο τύπος των δεδομένων. ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 20

21 Τύποι Ορισμάτων της Βιβλιοθήκης MPI MPI C Data Types MPI_CHAR signed char MPI_SHORT signed short int MPI_INT signed int MPI_LONG signed long int MPI_UNSIGNED_CHAR unsigned char MPI_UNSIGNED_SHORT unsigned short int MPI_UNSIGNED unsigned int MPI_UNSIGNED_LONG unsigned long int MPI_FLOAT float MPI_DOUBLE double MPI_LONG_DOUBLE long double MPI_BYTE 8 binary digits MPI_PACKED MPI_Pack(), MPI_Unpack() ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 21

22 Τύποι Ορισμάτων της Βιβλιοθήκης MPI MPI Fortran Data Types MPI_CHARACTER character MPI_INTEGER integer MPI_REAL real, single precision MPI_DOUBLE_PRECISION real, double precision MPI_COMPLEX complex MPI_DOUBLE_COMPLEX double complex MPI_LOGICAL logical MPI_BYTE 8 binary digits MPI_PACKED MPI_Pack(), MPI_Unpack() Ο χρήστης μπορεί επίσης να φτιάξει τους δικούς του τύπους. Οι τύποι MPI_BYTE, MPI_PACKED δεν ανήκουν στους συνήθεις τύπους της C, Fortran. ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 22

23 Περιγραφή Ορισμάτων (συνέχεια) dest: Χρησιμοποιείται στις συναρτήσεις αποστολής και δηλώνει τον αριθμό της διεργασίας (επεξεργαστή) στην οποία θα σταλεί το μήνυμα. source: Χρησιμοποιείται στις συναρτήσεις λήψης και δηλώνει τον αριθμό της διεργασίας από την οποία θα ληφθεί το μήνυμα. tag: Αυθαίρετος θετικός ακέραιος (από ) τον οποίο θέτει ο χρήστης και είναι η ετικέτα του μηνύματος. Οι αντίστοιχες συναρτήσεις αποστολής και λήψης πρέπει να έχουν την ίδια ετικέτα. comm: Ο διαχειριστής επικοινωνίας. Προκαθορισμένος είναι ο MPI_COMM_WORLD. status: Για μια εντολή λήψης δηλώνει την πηγή και την ετικέτα του μηνύματος. request: Όρισμα της ελεύθερης αποστολής/λήψης. Εφόσον η ελεύθερη αποστολή/λήψη μπορεί να ολοκληρωθεί προτού δεσμευτεί ο απαιτούμενος προσωρινός χώρος μνήμης, δημιουργούμε έναν «αριθμό απαίτησης». Ο χρήστης μπορεί αργότερα να τον χρησιμοποιήσει (μέσω μιας συνάρτησης WAIT) για να ελέγξει την ολοκλήρωση της αποστολής/λήψης. Στη C το όρισμα αυτό είναι ένας δείκτης (pointer) στη δομή MPI_Request ενώ στη Fortran είναι ακέραιος. ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 23

24 Συναρτήσεις Περιορισμένης Αποστολής/Λήψης Περιορισμένη Αποστολή: MPI_Send (buffer, count, type, dest, tag, comm). Πρότυπο της συνάρτησης στην C: int MPI_Send( void * buf /* input */, int count /* input */, MPI_Datatype type /* input */, int dest /* input */, int tag /* input */, MPI_Comm comm /* input */, ) Περιορισμένη Λήψη: MPI_Recv (buffer, count, type, source, tag, comm, status). Πρότυπο της συνάρτησης στην C: int MPI_Recv( void * buf /* input */, int count /* input */, MPI_Datatype type /* input */, int source /* input */, int tag /* input */, MPI_Comm comm /* input */, MPI_Status * status /* output */ ) ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 24

25 Παράδειγμα Χρήσης Συναρτήσεων Περιορισμένης Αποστολής/Λήψης #include "mpi.h" #include <stdio.h> int main(int argc, char** argv) { int numtasks, rank, dest, source, rc, count, tag=1; char inmsg[5], outmsg[]= hello ; MPI_Status Stat; MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD, &numtasks); ΜPI_Comm_rank(MPI_COMM_WORLD, &rank); if (rank == 0) { dest = 1; source = 1; MPI_Send(&outmsg, 5, MPI_CHAR, dest, tag, MPI_COMM_WORLD); MPI_Recv(&inmsg, 5, MPI_CHAR, source, tag, MPI_COMM_WORLD, &stat); } else if (rank == 1) { dest = 0; source = 0; MPI_Recv(&inmsg, 5, MPI_CHAR, source, tag, MPI_COMM_WORLD, &Stat); MPI_Send(&outmsg, 5, MPI_CHAR, dest, tag, MPI_COMM_WORLD); } MPI_Get_count(&Stat, MPI_CHAR, &count); printf("task %d: Received %d char(s) from task %d with tag %d \n", rank, count, Stat.MPI_SOURCE, Stat.MPI_TAG); MPI_Finalize(); } ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 25

26 Συναρτήσεις Ελεύθερης Αποστολής/Λήψης Ελεύθερη Αποστολή: MPI_Isend (buffer, count, type, dest, tag, comm, request). Πρότυπο της συνάρτησης στην C: int MPI_Isend( void * buf /* input */, int count /* input */, MPI_Datatype type /* input */, int dest /* input */, int tag /* input */, MPI_Comm comm /* input */, MPI_Request* request /* output */, ) Ελεύθερη Λήψη: MPI_Irecv (buffer, count, type, source, tag, comm, request). Πρότυπο της συνάρτησης στην C: int MPI_Irecv( void * buf /* input */, int count /* input */, MPI_Datatype type /* input */, int source /* input */, int tag /* input */, MPI_Comm comm /* input */, MPI_Request* request /* output */, ) ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 26

27 Παράδειγμα Χρήσης Συναρτήσεων Ελεύθερης Αποστολής/Λήψης program ringtopo include 'mpif.h' integer numtasks, rank, next, prev, buf(2), tag1, tag2, ierr integer stats(mpi_status_size,4), reqs(4) tag1 = 1; tag2 = 2 call MPI_INIT(ierr) call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr) call MPI_COMM_SIZE(MPI_COMM_WORLD, numtasks, ierr) prev = rank 1; next = rank + 1 if (rank == 0) prev = numtasks 1 if (rank == numtasks - 1) next = 0 call MPI_IRECV(buf(1), 1, MPI_INTEGER, prev, tag1, MPI_COMM_WORLD, reqs(1), ierr) call MPI_IRECV(buf(2), 1, MPI_INTEGER, next, tag2, MPI_COMM_WORLD, reqs(2), ierr) call MPI_ISEND(rank, 1, MPI_INTEGER, prev, tag2, MPI_COMM_WORLD, reqs(3), ierr) call MPI_ISEND(rank, 1, MPI_INTEGER, next, tag1, MPI_COMM_WORLD, reqs(4), ierr) call MPI_WAITALL(4, reqs, stats, ierr) call MPI_FINALIZE(ierr) stop end ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 27

28 Συλλογική Επικοινωνία Collective Communication Η συλλογική επικοινωνία περιλαμβάνει αποστολή / λήψη μηνυμάτων μεταξύ όλων των διεργασιών σε ένα διαχειριστή επικοινωνίας. Διάφοροι τύποι συναρτήσεων-υποπρογραμμάτων συλλογικής επικοινωνίας: Συγχρονισμένη επικοινωνία (Synchronization): οι διεργασίες περιμένουν έως όλη η επικοινωνία βρεθεί στο σημείο συγχρονισμού. Μεταφορά Δεδομένων (Data Movement): εκπομπή (broadcast), διασπορά/συγκέντρωση (scatter/gather), όλοι σε όλους (all to all). Συλλογική υπολογισμοί περιστολή (reduction): μια διεργασία συλλέγει δεδομένα από όλες τις άλλες και εκτελέι μια πράξη (π.χ. πρόσθεση, πολλαπλασιασμός, κλπ.) σε αυτά τα δεδομένα. Οι συλλογική επικοινωνία είναι περιορισμένου (blocking) τύπου. Υπάρχουν επίσης συναρτήσεις παρακολούθησης και ελέγχου αποστολής/λήψης μηνυμάτων. ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 28

29 Υποπρογράμματα Συλλογικής Επικοινωνίας MPI MPI_Barrier: Δημιουργεί ένα σημείο συγχρονισμού. Κάθε διεργασία που φτάνει στο σημείο που το MPI_Barrier καλείται, περιμένει ως ότου όλες οι διεργασιές φτάσουν σε αυτό το σημείο C: MPI_Barrier (comm); Fortran: MPI_BARRIER(comm, ierr) MPI_Bcast: Εκπέμπει ένα μήνυμα από την διεργασία με αριθμό root σε όλες τις άλλες διεργασίες μέσα στον Δ.Ε. C: MPI_Bcast (&buffer, count, type, root, comm); Fortran: MPI_BCAST(buffer, count, type, root, comm, ierr) ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 29

30 Υποπρογράμματα Συλλογικής Επικοινωνίας MPI MPI_Scatter: Διασκορπίζει ένα μήνυμα από την διεργασία με αριθμό root σε όλες τις άλλες διεργασίες μέσα στον Δ.Ε. C: MPI_Scatter (&sendbuf, sendcnt, sendtype, &recvbuf, recv, recvtype, root, comm); Fortran: MPI_SCATTER(sendbuf, sendcnt, sendtype, recvbuf, recv, recvtype, root, comm, ierr) MPI_Gather: Μαζεύει ένα μήνυμα από κάθε διεργασία στη διεργασια root. C: MPI_Gather (&sendbuf, sendcnt, sendtype, &recvbuf, recv, recvtype, root, comm); Fortran: MPI_SCATTER(sendbuf, sendcnt, sendtype, recvbuf, recv, recvtype, root, comm, ierr) ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 30

31 Υποπρογράμματα Συλλογικής Επικοινωνίας MPI MPI_Reduce: Εφαρμόζει μια πράξη περιστολής σε όλα τα μέλη του Δ.Ε. και στέλνει το αποτέλεσμα στη διεργασία με αριθμό root. C: MPI_Reduce (&buffer, count, type, op, root, comm); Fortran: call MPI_REDUCE(buffer, count, type, op, root, comm, ierr) Οι σημαντικότερες προκαθορισμένες πράξεις τύπου MPI_Reduce είναι: MPI Reduction Operation C Data Types Fortran Data Types MPI_MAX maximum integer, float integer, real, complex MPI_MIN minimum integer, float integer, real, complex MPI_SUM sum integer, float integer, real, complex MPI_PROD product integer, float integer, real, complex MPI_LAND logical AND integer logical MPI_MAXLOC max value and location float, double, long double real, complex, double precision MPI_MINLOC min value and location float, double, long double real, complex, double precision ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 31

32 Παράδειγμα Χρήσης Υποπρογραμμάτων Συλλογικής Επικοινωνίας #include "mpi.h" #include <stdio.h> #define SIZE 4 int main(int argc, char** argv) { int numtasks, rank, sendcount, recvcount, source; float sendbuf[size][size] = { {1.0, 2.0, 3.0, 4.0}, {5.0, 6.0, 7.0, 8.0}, {9.0, 10.0, 11.0, 12.0}, {13.0, 14.0, 15.0, 16.0} }; float recvbuf[size]; MPI_Init(&argc,&argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &numtasks); if (numtasks == SIZE) { source = 1; sendcount = SIZE; recvcount = SIZE; MPI_Scatter(sendbuf,sendcount,MPI_FLOAT,recvbuf,recvcount,MPI_FLOAT,source,MPI_COMM_WORLD); printf("rank= %d Results: %f %f %f %f\n",rank,recvbuf[0],recvbuf[1],recvbuf[2],recvbuf[3]); } else printf("must specify %d processors. Terminating.\n",SIZE); MPI_Finalize(); } ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 32

33 Derived Datatypes Τα βασικά ορίσματα της βιβλιοθήκης MPI που είδαμε παραπάνω (primitive MPI Datatypes) επιτρέπουν μεταφορά απλών δεδομένων ή σύνολο μεταβλητών του ίδιου τύπου οι οποίες είναι συνεχείς (contiguous) στη μνήμη. Derived Datatypes είναι πιο πολύπλοκα ορίσματα που μπορούν να εμπεριέχουν μεταβλητές διαφορετικού είδους ή μεταβλητές που δεν είναι συνεχείς στη μνήμη. Τα ορίσματα MPI Derived Datatypes είναι ένα σύνολο μεταβλητών η καθεμία από τις οποίες έχει ως τύπο ένα οποιοδήποτε primitive MPI Datatype. Λόγοι χρήσης: Είναι ο μόνος τρόπος να στείλουμε με μια πράξη επικοινωνίας (μια αποστολή/λήψη) μια δομή (structure), μέρος ενός πίνακα (π.χ. Sub-block of a matrix), ή ένα σύνολο δεδομένων διαφορετικού τύπου (π.χ. int. and float numbers). Υπάρχουν διαφορετικοί τρόποι ορισμού ενός MPI derived datatype: -- Contiguous -- Vector -- Indexed -- Struct ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 33

34 Υποπρογράμματα-Συναρτήσεις MPI Derived Datatypes -- Βασικά υποπρογράμματα δημιουργίας ορισμάτων MPI derived datatype: MPI_Type_contiguous: ο απλούστερος τρόπος. Δημιουργεί ένα καινούριο όρισμα αντιγράφοντας τα ήδη υπάρχοντα ορίσματα. C: MPI_Type_contiguous (count, oldtype, &newtype) Fortran: call MPI_TYPE_CONTIGUOUS (count, oldtype, newtype, ierr) MPI_Type_vector: παρόμοιο με το contiguous αλλά επιτρέπει κενά (stride) στις μετακινήσεις (displacements) των ορισμάτων. C: MPI_Type_vector (count, blocklength, stride, oldtype, &newtype) Fortran: call MPI_TYPE_VECTOR (count, blocklength, stride, oldtype, newtype, ierr) ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 34

35 Υποπρογράμματα-Συναρτήσεις MPI Derived Datatypes MPI_Type_struct: ο πιο ευέλικτος τρόπος. Ο χρήστης ελέγχει πλήωσ τη δομή του νέου ορίσματος.. C: MPI_Type_struct (count, blocklens[], offsets[], old_types, &newtype) Fortran: call MPI_TYPE_STRUCT (count,blocklens[],offsets[],old_types, newtype, ierr) MPI_Type_Extend: Επιστρέφει τον μέγεθος (σε bytes) του derived datatype ορίσματος. C: MPI_Comm_rank (datatype, &extent); Fortran: call MPI_COMM_RANK(datatype, extent, ierr) ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 35

36 Derived Datatypes Κατασκευή ενός ορίσματος derived datatype: Α) Ορισμός του ορίσματος χρησιμοποιώντας μια από τις παραπάνω υπορουτίνες (MPI_Type_contiguous, MPI_Type_vector, MPI_Type_struct, ). B) Παράδοση του νέου ορίσματος. Το καινούριο όρισμα «παραδίδεται» καλώντας την: MPI_Type_commit(&newtype) Επίσης πολύ συχνά είναι χρήσιμο να ελευθερώνετε η μνήμη από τα καινούρια ορίσματα όταν αυτά δεν χρειάζονται. Αυτό γίνεται καλώντας την ρουτίνα: MPI_Type_free(&newtype) ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 36

37 Τοπολογία Διεργασιών Τύπου MPI Ο παράλληλος προγραμματισμός τύπου MPI επιτρέπει την αποτύπωση/διευθέτηση (mapping/ordering) των διεργασιών σε ένα γεωμετρικό σχήμα. Οι δύο κυριότερες τοπολογίες είναι: Η Καρτεσιανή (Grid) και η Γραφική (Graph). Οι τοπολογίες διεργασιών MPI είναι εικονικές: δεν υπάρχει σχέση με την τοπολογία των επεξεργαστών. Λόγοι χρήσης: Ευκολία: Μπορεί να είναι χρήσιμες για προβλήματα με συγκεκριμένα προφίλ επικοινωνίας, π.χ. η Καρτεσιανή τοπολογία είναι κατάλληλη για προβλήματα όπου απαιτείται επικοινωνία μιας διεργασίας με της 4 γειτονικές της σε μορφή grid Αποδοτικότητα: μια συγκεκριμένη τοπολογία μπορεί να βελτιστοποιήσει τις διεργασίες με βάση την αρχιτεκτονική του παράλληλου συστήματος. Παράδειγμα (4x4 Καρτεσιανή τοπολογία): ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 37

38 Παράδειγμα Δημιουργίας Καρτεσιανής Τοπολογίας program cartesian include 'mpif.h' integer SIZE, UP, DOWN, LEFT, RIGHT parameter(size=16, UP=1, DOWN=2, LEFT=3, RIGHT=4) integer numtasks, rank, source, dest, outbuf, i, tag, ierr, inbuf(4), nbrs(4), dims(2), coords(2), integer stats(mpi_status_size, 8), reqs(8), cartcomm, periods(2), reorder data inbuf /MPI_PROC_NULL,MPI_PROC_NULL,MPI_PROC_NULL, MPI_PROC_NULL/ data dims /4,4/, tag /1/, periods /0,0/, reorder /0/ call MPI_INIT(ierr) call MPI_COMM_SIZE(MPI_COMM_WORLD, numtasks, ierr) if (numtasks== SIZE) then call MPI_CART_CREATE(MPI_COMM_WORLD, 2, dims, periods, reorder, cartcomm, ierr) call MPI_COMM_RANK(cartcomm, rank, ierr) call MPI_CART_COORDS(cartcomm, rank, 2, coords, ierr) print *,'rank= ',rank,'coords= ',coords call MPI_CART_SHIFT(cartcomm, 0, 1, nbrs(up), nbrs(down), ierr) call MPI_CART_SHIFT(cartcomm, 1, 1, nbrs(left), nbrs(right), ierr) outbuf = rank do i=1,4 dest = nbrs(i) source = nbrs(i) call MPI_ISEND(outbuf, 1, MPI_INTEGER, dest, tag, MPI_COMM_WORLD, reqs(i), ierr) call MPI_IRECV(inbuf(i), 1, MPI_INTEGER, source, tag, MPI_COMM_WORLD, reqs(i+4), ierr) end do call MPI_WAITALL(8, reqs, stats, ierr) print *,'rank= ',rank,' coords= ',coords, ' neighbors(u,d,l,r)= ',nbrs print *,'rank= ',rank,' ', ' inbuf(u,d,l,r)= ',inbuf else print *, 'Must specify',size,' processors. Terminating.' end if call MPI_FINALIZE(ierr) end ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 38

39 Βιβλιογραφία Parallel Programming, B. Wilkinson, M. Allen, Prentice Hall, 2nd Ed Introduction to Parallel Computing, A. Grama, G. Karypis, V. Kumar, A. Gupta, Addison- Wesley, Designing and Building Parallel Programs, Ian Foster, Addison-Wesley Parallel Computing: Theory and Practice, M. J. Quinn, McGraw-Hill, MPI: On-line courses include MPI, HPF, Mesh Generation, Introduction to Computational Science, HPC in Business. ΕΜ 361: Παράλληλοι Υπολογισμοί 2010/11, Κεφάλαιο 5 39

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

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

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

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

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

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

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

Υπολογιστικές Μέθοδοι Ανάλυσης και Σχεδιασµού Υπολογιστικό Εργαστήριο Μάθηµα 1 Εισαγωγή στο MPI http://ecourses.chemeng.ntua.gr/courses/computational_methods Αρχιτεκτονικές Παράλληλων Υπολογιστών Shared

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

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

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

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

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

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 4: MPI_ANY_TAG,MPI_ANY_SOURCE,MPI_Bcast, MPI_Wtime, MPI_Wait, MPI_Test, MPI_Scatter Δρ. Μηνάς Δασυγένης

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

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

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

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

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

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

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

EM 361: Παξάιιεινη Υπνινγηζκνί

EM 361: Παξάιιεινη Υπνινγηζκνί EM 361: Παξάιιεινη Υπνινγηζκνί Φαξκαλδάξεο Βαγγέιεο, Τκήκα Δθαξκνζκέλσλ Μαζεκαηηθώλ Παλεπηζηήκην Κξήηεο, Φεηκεξηλό Δμάκελν 2010/11 Κεθάιαην 5: (B) Message Passing Interface (MPI) Message Passing Interface

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

Message Passing Interface (MPI)

Message Passing Interface (MPI) Message Passing Interface (MPI) Συστήµατα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστηµάτων Αθήνα, εκέµβριος 2002 Τι είναι το MPI; Είναι πρότυπο, όχι συγκεκριµένη υλοποίηση Βιβλιοθήκη ανταλλαγής

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

MPI: Message Passing Interface

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

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

Αρχιτεκτονική κοινής μνήμης

Αρχιτεκτονική κοινής μνήμης Αρχιτεκτονική κοινής μνήμης Οι επεξεργαστές έχουν κοινή μνήμη Κάθε επεξεργαστής διαθέτει τοπική ιεραρχία κρυφών μνημών Συνήθως η διασύνδεση γίνεται μέσω διαδρόμου μνήμης (memory bus) Αλλά και πιο εξελιγμένα

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

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

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 4: MPI_ANY_TAG,MPI_ANY_SOURCE,MPI_Bcast, MPI_Wtime, MPI_Wait, MPI_Test, MPI_Scatter Δρ. Μηνάς Δασυγένης

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

Τφποι δεδομζνων MPI. Κώςτασ Διαμαντάρασ Τμιμα Πλθροφορικισ ΤΕΙ Θεςςαλονίκθσ

Τφποι δεδομζνων MPI. Κώςτασ Διαμαντάρασ Τμιμα Πλθροφορικισ ΤΕΙ Θεςςαλονίκθσ Τφποι δεδομζνων MPI Κώςτασ Διαμαντάρασ Τμιμα Πλθροφορικισ ΤΕΙ Θεςςαλονίκθσ MPI datatypes Σκοπόσ MPI datatypes: θ ςυνεργαςία μεταξφ ετερογενών υπολογιςτών και αρχιτεκτονικών Η χριςθ μθ ςυνεχών κζςεων μνιμθσ.

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

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

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

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

Συστήµατα Παράλληλης Επεξεργασίας. Message Passing Interface (MPI)

Συστήµατα Παράλληλης Επεξεργασίας. Message Passing Interface (MPI) Message Passing Interface (MPI) Αρχιτεκτονική κοινής µνήµης Οι επεξεργαστές έχουν κοινή µνήµη Κάθε επεξεργαστής διαθέτει τοπική ιεραρχία κρυφών µνηµών Συνήθως η διασύνδεση γίνεται µέσω διαδρόµου µνήµης

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

ύο μηχανισμοί απαιτούνται: 1. Μία μέθοδος για τη δημιουργία διεργασιών

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

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

Message Passing Interface (MPI)

Message Passing Interface (MPI) Message Passing Interface (MPI) Συστήµατα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστηµάτων Αθήνα, Νοέµβριος 2003 24/11/2003 Message Passing Interface (MPI) 1 Παράλληλες αρχιτεκτονικές Αρχιτεκτονική

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

Κατανεμημένος και Παράλληλος Προγραμματισμός MPI. MPI Απλές εντολές 03/13/2016. Οδηγίες αποστολής / παραλαβής μηνυμάτων, Υπολογισμός του π (

Κατανεμημένος και Παράλληλος Προγραμματισμός MPI. MPI Απλές εντολές 03/13/2016. Οδηγίες αποστολής / παραλαβής μηνυμάτων, Υπολογισμός του π ( Κατανεμημένος και Παράλληλος Προγραμματισμός Ηλίας Κ. Σάββας Αναπληρωτής Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Θεσσαλίας Email: savvas@teilar.gr MPI Οδηγίες αποστολής / παραλαβής μηνυμάτων, Υπολογισμός

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

MPI: Message Passing Interface

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

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

MPI: Message Passing Interface

MPI: Message Passing Interface Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων MPI: Message Passing Interface 9 ο Εξάμηνο Αρχιτεκτονική κοινής μνήμης l l l Οι επεξεργαστές

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

Επικοινωνία. Message-Passing Interface (MPI) Βασικές Κλήσεις για Sockets. Μοντέλο Μεταβίβασης Μηνυµάτων. Μοντέλα Παράλληλου Υπολογισµού

Επικοινωνία. Message-Passing Interface (MPI) Βασικές Κλήσεις για Sockets. Μοντέλο Μεταβίβασης Μηνυµάτων. Μοντέλα Παράλληλου Υπολογισµού Ε-85: Ειδικά Θέµατα Λογισµικού Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων Χειµερινό Εξάµηνο 2009-10 Επικοινωνία Πολλάκατανεµηµένα συστήµατα υλοποιούνται πάνω από ένα απλό µοντέλο µηνυµάτων επικοινωνίας,

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

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

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 3: MPI_Get_count, non blocking send/recv, εμφάνιση και αποφυγή αδιεξόδων Δρ. Μηνάς Δασυγένης mdasyg@ieee.org

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

Message Passing Interface (MPI)

Message Passing Interface (MPI) Message Passing Interface (MPI) Συστήµατα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστηµάτων Αθήνα, Νοέµβριος 2004 22/11/2004 Message Passing Interface (MPI) 1 Παράλληλες αρχιτεκτονικές Αρχιτεκτονική

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

Ε-85: Ειδικά Θέµατα Λογισµικού

Ε-85: Ειδικά Θέµατα Λογισµικού Ε-85: Ειδικά Θέµατα Λογισµικού Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων Χειµερινό Εξάµηνο 2009-10 «Εισαγωγή στο MPI» Παναγιώτης Χατζηδούκας (Π.Δ. 407/80) E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών

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

Message Passing Interface (MPI)

Message Passing Interface (MPI) Message Passing Interface (MPI) Συστήµατα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστηµάτων Αθήνα, Οκτώβριος 2009 21/10/2009 Message Passing Interface (MPI) 1 Παράλληλες αρχιτεκτονικές Αρχιτεκτονική

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

Υπολογισμοί Μεταβίβασης Μηνυμάτων

Υπολογισμοί Μεταβίβασης Μηνυμάτων Υπολογισμοί Μεταβίβασης Μηνυμάτων Κ.Γ. Μαργαρίτης προσαρμογή από το μάθημα του Barry Wilkinson ITCS 4145/5145 2006 Cluster Computing Univ. of North Carolina at Charlotte 2.1 2.2 Προγραμματισμός μεταβίβασης

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

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

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

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Της φοιτήτριας Αριστέας Χρονοπούλου Αρ. Μητρώου: 01 / Επιβλέπων Καθηγητής Αθανάσιος Μάργαρης

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Της φοιτήτριας Αριστέας Χρονοπούλου Αρ. Μητρώου: 01 / Επιβλέπων Καθηγητής Αθανάσιος Μάργαρης ΑΛΕΞΑΝ ΡΕΙΟ Τ.Ε.Ι. ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΤΟ ΜΟΝΤΕΛΟ ΜΕΤΑΒΙΒΑΣΗΣ ΜΗΝΥΜΑΤΩΝ MESSAGE PASSING INTERFACE (MPI) Της φοιτήτριας Αριστέας Χρονοπούλου Αρ.

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

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

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

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

Παράλληλα και Κατανεµηµένα Συστήµατα. Εισαγωγή

Παράλληλα και Κατανεµηµένα Συστήµατα. Εισαγωγή Παράλληλα και Κατανεµηµένα Συστήµατα 1 Εισαγωγή Στόχος της περιγραφής που ακολουθεί, αποτελεί η παρουσίαση του περιβάλλοντος διεπαφής ανταλλαγής µηνυµάτων (message passing interface) MPI δια της χρήσεως

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

Εισαγωγή. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο SUN RPC. Κλήση Αποµακρυσµένων ιαδικασιών (RPC) Σύνδεση: Port Mapper.

Εισαγωγή. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο SUN RPC. Κλήση Αποµακρυσµένων ιαδικασιών (RPC) Σύνδεση: Port Mapper. Εισαγωγή Ε-03: Λειτουργικά Συστήµατα ΙΙ Εαρινό Εξάµηνο 2005-06 Sun RPC MPI «Sun RPC & MPI» ρ. Παναγιώτης Χατζηδούκας (Π..407/80) E-03: Λειτουργικά Συστήµατα ΙΙ 1 E-03: Λειτουργικά Συστήµατα ΙΙ 2 Κλήση

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

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

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

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

Παράλληλος προγραµµατισµός

Παράλληλος προγραµµατισµός Το Message Passing Interface (MPI) και η υποστήριξή του στο EGEE Grid Vasileios Karakasis GRNET S.A., ICCS bkk@cslab.ece.ntua.gr Issues on Grid Technologies, Univ. of Patras, 2/3/2010 Σύνοψη παρουσίασης

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

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

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

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

Probleme de transmitere în modul standard. MPI - Message Passing Interface. Comunicarea punct la punct

Probleme de transmitere în modul standard. MPI - Message Passing Interface. Comunicarea punct la punct MPI - Message Passing Interface MPI este un standard pentru comunicarea prin mesaje Elaborat de MPI Forum. Sisteme anterioare: de la IBM, Intel (NX/2) Express, ncube (Vertex), PARMACS, Zipcode, Chimp,

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

Το Message Passing Interface (MPI) και η υποστήριξή του στο EGEE Grid

Το Message Passing Interface (MPI) και η υποστήριξή του στο EGEE Grid Το Message Passing Interface (MPI) και η υποστήριξή του στο EGEE Grid Vangelis Koukis HG-01 01-GRNET and HG-06 06-EKT admin team vkoukis@cslab.ece.ntua.gr NOA, 2006/10/03 Πορεία μιας σειριακής εργασίας

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

Το Message Passing Interface (MPI) και η υποστήριξή του στο EGEE Grid

Το Message Passing Interface (MPI) και η υποστήριξή του στο EGEE Grid Το Message Passing Interface (MPI) και η υποστήριξή του στο EGEE Grid Vangelis Koukis HG-01 01-GRNET and HG-06 06-EKT admin team vkoukis@cslab.ece.ntua.gr UoA, 2006/10/26 Πορεία μιας σειριακής εργασίας

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

Το Message Passing Interface (MPI) και η υποστήριξή του στο EGEE Grid. Vangelis Koukis 01-GRNET and HG EKT admin team

Το Message Passing Interface (MPI) και η υποστήριξή του στο EGEE Grid. Vangelis Koukis 01-GRNET and HG EKT admin team Το Message Passing Interface (MPI) και η υποστήριξή του στο EGEE Grid Vangelis Koukis HG-01 01-GRNET and HG-06 06-EKT admin team vkoukis@cslab.ece.ntua.gr Advanced Course on Grid Technologies, Univ. of

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

ΕΚΔΟΣΗ 1.0 ΟΚΤΩΒΡΙΟΣ, 2017 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ ΣΤO MESSAGE PASSING INTERFACE - MPI ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β.

ΕΚΔΟΣΗ 1.0 ΟΚΤΩΒΡΙΟΣ, 2017 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ ΣΤO MESSAGE PASSING INTERFACE - MPI ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΕΚΔΟΣΗ 1.0 ΟΚΤΩΒΡΙΟΣ, 2017 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ ΣΤO MESSAGE PASSING INTERFACE - MPI ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ CONTENTS ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ... 2 Εισαγωγή...

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

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

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

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

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

ΕΚΔΟΣΗ 1.1 ΑΠΡΙΛΙΟΣ, 2018 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΤΟ ΠΡΩΤΟΚΟΛΛΟ ECHO ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ ΕΚΔΟΣΗ 1.1 ΑΠΡΙΛΙΟΣ, 2018 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ CONTENTS ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ... 2 Το πρωτόκολλο ECHO... 2 Εισαγωγή... 2 Το πρωτόκολλο

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

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

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

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

Προγραµµατισµός µε ανταλλαγή µηνυµάτων Ι. Εισαγωγή στο MPI. Εφαρµογές Ανεξάρτητου Παραλληλισµού.

Προγραµµατισµός µε ανταλλαγή µηνυµάτων Ι. Εισαγωγή στο MPI. Εφαρµογές Ανεξάρτητου Παραλληλισµού. Προγραµµατισµός µε ανταλλαγή µηνυµάτων Ι. Εισαγωγή στο MPI. Εφαρµογές Ανεξάρτητου Παραλληλισµού. Λογισµικό & Προγραµµατισµός Συστηµάτων Υψηλής Επίδοσης Οµάδα Παράλληλων & Κατανεµηµένων Συστηµάτων http://pdsgroup.hpclab.ceid.upatras.gr/

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

Non-blocking Επικοινωνίεσ και Buffering. Κώςτασ Διαμαντάρασ ΤΕΙ Θεςςαλονίκθσ 2011

Non-blocking Επικοινωνίεσ και Buffering. Κώςτασ Διαμαντάρασ ΤΕΙ Θεςςαλονίκθσ 2011 Non-blocking Επικοινωνίεσ και Buffering Κώςτασ Διαμαντάρασ ΤΕΙ Θεςςαλονίκθσ 2011 Η χριςθ buffer Ροφ πάνε τα δεδομζνα μετά το send? Διεργασία 1 Διεργασία 2 A Buffer Δίκτσο Buffer B 2 Κ. Διαμαντάρας ΤΕΙ

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

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

ΕΚΔΟΣΗ 1.0 ΟΚΤΩΒΡΙΟΣ, 2017 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΤΟ ΠΡΩΤΟΚΟΛΛΟ TARRY ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ ΕΚΔΟΣΗ 1.0 ΟΚΤΩΒΡΙΟΣ, 2017 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΤΟ ΠΡΩΤΟΚΟΛΛΟ TARRY ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ CONTENTS ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ... 2 Το πρωτόκολλο TARRY... 2 Εισαγωγή...

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΜ 361: ΠΑΡΑΛΛΗΛΛΟΙ ΥΠΟΛΟΓΙΣΜΟΙ (PARALLEL COMPUTING) ΣΕΙΡΑ ΑΣΚΗΣΕΩΝ: 3η Όνομα Καθηγητή: Χαρμανδάρης Ευάγγελος Τμήμα Εφαρμοσμένων Μαθηματικών ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ

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

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Εισαγωγή στη C θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

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

ΕΚΔΟΣΗ 1.1 ΜΑΙΟΣ, 2018 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΑΛΓΟΡΙΘΜΟΣ POLLING ΚΥΜΑΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΕΚΔΟΣΗ 1.1 ΜΑΙΟΣ, 2018 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ... 2 Ο αλγόριθμος Polling... 2 Ο Κυματικός Αλγόριθμος...

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 4: Τύποι Δεδομένων και τελεστές Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

MPI: Βαςικζσ Εντολζσ Επικοινωνίασ. Κώςτασ Διαμαντάρασ Τμιμα Πλθροφορικισ ΤΕΙ Θεςςαλονίκθσ 2011

MPI: Βαςικζσ Εντολζσ Επικοινωνίασ. Κώςτασ Διαμαντάρασ Τμιμα Πλθροφορικισ ΤΕΙ Θεςςαλονίκθσ 2011 MPI: Βαςικζσ Εντολζσ Επικοινωνίασ Κώςτασ Διαμαντάρασ Τμιμα Πλθροφορικισ ΤΕΙ Θεςςαλονίκθσ 2011 Εντολζσ Επικοινωνίασ ςθμείο προσ ςθμείο (point-to-point) MPI_Send, MPI_Recv MPI_Isend, MPI_Irecv 2 Κώςτασ Διαμαντάρασ

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

Κατανεμημένος και Παράλληλος Προγραμματισμός MPI. Γρήγορος οδηγός αναφοράς 1/4/2017

Κατανεμημένος και Παράλληλος Προγραμματισμός MPI. Γρήγορος οδηγός αναφοράς 1/4/2017 Κατανεμημένος και Παράλληλος Προγραμματισμός Ηλίας Κ. Σάββας Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Θεσσαλίας Email: savvas@teilar.gr MPI Διαμοίραση (MPI_Scatter) και συλλογή δεδομένων (MPI_Gather)

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

Κεφάλαιο VIΙΙ Β. Δημακόπουλος

Κεφάλαιο VIΙΙ Β. Δημακόπουλος Μεταβίβαση μηνυμάτων Κεφάλαιο VIΙΙ Β. Δημακόπουλος Προγραμματίζοντας με μεταβίβαση μηνυμάτων Δεν υπάρχουν κοινές μεταβλητές διεργασίες και μηνύματα Θεωρείται το πιο δύσκολο Μπορεί, όμως, να γίνει πιο αποδοτικό

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 10: Συναρτήσεις Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

ΔΙΟΙΚΗΤΙΚΗ ΕΠΙΣΤΗΜΗ. Ενότητα #10: ΔΙΟΙΚΗΣΗ ΟΛΙΚΗΣ ΠΟΙΟΤΗΤΑΣ ΚΑΙ ΑΝΑΣΧΕΔΙΑΣΜΟΣ ΔΙΑΔΙΚΑΣΙΑΣ

ΔΙΟΙΚΗΤΙΚΗ ΕΠΙΣΤΗΜΗ. Ενότητα #10: ΔΙΟΙΚΗΣΗ ΟΛΙΚΗΣ ΠΟΙΟΤΗΤΑΣ ΚΑΙ ΑΝΑΣΧΕΔΙΑΣΜΟΣ ΔΙΑΔΙΚΑΣΙΑΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΔΙΟΙΚΗΤΙΚΗ ΕΠΙΣΤΗΜΗ Ενότητα #10: ΔΙΟΙΚΗΣΗ ΟΛΙΚΗΣ ΠΟΙΟΤΗΤΑΣ ΚΑΙ ΑΝΑΣΧΕΔΙΑΣΜΟΣ ΔΙΑΔΙΚΑΣΙΑΣ Διδάσκων: Μανασάκης Κωνσταντίνος ΤΜΗΜΑ ΠΟΛΙΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Τα κείμενα και

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

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

Κατανεμημένος και Παράλληλος Προγραμματισμός. Εισαγωγή στο MPI. Εγκατάσταση MPICH σε ένα ΗΥ 10/3/2017 Κατανεμημένος και Παράλληλος Προγραμματισμός Ηλίας Κ. Σάββας Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Θεσσαλίας Email: savvas@teilar.gr Εισαγωγή στο MPI Εγκατάσταση του Message Passing Interface,

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

Αντικειμενοστραφής Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αντικειμενοστραφής Προγραμματισμός Ενότητα 5 : Δομή Προγράμματος C++ Ιωάννης Τσούλος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο Τμήμα Μηχανικών Πληροφορικής

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

1 η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Ακ. έτος , 5ο Εξάμηνο, Σχολή ΗΜ&ΜΥ

1 η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Ακ. έτος , 5ο Εξάμηνο, Σχολή ΗΜ&ΜΥ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr 1 η ΑΣΚΗΣΗ ΣΤΗΝ

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

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

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

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

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μεταβίβαση μηνυμάτων. Κεφάλαιο 5 (νέο βιβλίο) Κεφάλαιο 8 (παλιές σημειώσεις)

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μεταβίβαση μηνυμάτων. Κεφάλαιο 5 (νέο βιβλίο) Κεφάλαιο 8 (παλιές σημειώσεις) ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μεταβίβαση μηνυμάτων Κεφάλαιο 5 (νέο βιβλίο) Κεφάλαιο 8 (παλιές σημειώσεις) Προγραμματίζοντας με μεταβίβαση μηνυμάτων Δεν υπάρχουν κοινόχρηστες μεταβλητές διεργασίες και μηνύματα Θεωρείται

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

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

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

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

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

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

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

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

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

ΕΚΔΟΣΗ 1.0 ΟΚΤΩΒΡΙΟΣ, 2017 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΡΟΛΟΓΙΑ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ ΕΚΔΟΣΗ 1.0 ΟΚΤΩΒΡΙΟΣ, 2017 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ CONTENTS ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ... 2 Κατανεμημένα Ρολόγια... 2 Εισαγωγή... 2 Φυσικά Ρολόγια...

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

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

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

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

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

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

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

ΟΙΚΟΝΟΜΙΚΗ ΑΝΑΛΥΣΗ Ενότητα #4: ΙΣΟΡΡΟΠΙΑ ΑΓΟΡΩΝ

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

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

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

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

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

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

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Hello World /* Αρχείο hello.c * Εµφανίζει στην οθόνη το * µήνυµα hello world */ #include

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 7: Συναρτήσεις Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

Παράλληλη Επεξεργασία

Παράλληλη Επεξεργασία Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στο OpenMP Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed Systems Group Τι είναι το OpenMP Πρότυπο Επέκταση στη C/C++ και τη Fortran

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΜ 361: ΠΑΡΑΛΛΗΛΛΟΙ ΥΠΟΛΟΓΙΣΜΟΙ (PARALLEL COMPUTING) ΣΕΙΡΑ ΑΣΚΗΣΕΩΝ: 2η Όνομα Καθηγητή: Χαρμανδάρης Ευάγγελος Τμήμα Εφαρμοσμένων Μαθηματικών ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ

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

Λογική Δημήτρης Πλεξουσάκης Φροντιστήριο 6: Προτασιακός Λογισμός: Μέθοδος Επίλυσης Τμήμα Επιστήμης Υπολογιστών

Λογική Δημήτρης Πλεξουσάκης Φροντιστήριο 6: Προτασιακός Λογισμός: Μέθοδος Επίλυσης Τμήμα Επιστήμης Υπολογιστών Λογική Δημήτρης Πλεξουσάκης Φροντιστήριο 6: Προτασιακός Λογισμός: Μέθοδος Επίλυσης Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται στην άδεια χρήσης Creative Commons και

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

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 10: Συναρτήσεις Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

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

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

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

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

ΕΚΔΟΣΗ 1.1 ΜΑΙΟΣ, 2018 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΕΚΛΟΓΗ ΑΡΧΗΓΟΥ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ ΕΚΔΟΣΗ 1.1 ΜΑΙΟΣ, 2018 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΕΚΛΟΓΗ ΑΡΧΗΓΟΥ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ CONTENTS ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ... 2 Εκλογή αρχηγού... 2 Εισαγωγή... 2 Ο Αλγόριθμος

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

Προγραμματισμός με Μεταβίβαση Μηνυμάτων

Προγραμματισμός με Μεταβίβαση Μηνυμάτων 5 Προγραμματισμός με Μεταβίβαση Μηνυμάτων Σε αυτό το κεφάλαιο του βιβλίου θα ασχοληθούμε με το προγραμματιστικό μοντέλο μεταβίβασης μηνυμάτων (message passing model), κατά πολλούς το πιο ευρέως χρησιμοποιούμενο

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

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

Μακροοικονομική Θεωρία Ι

Μακροοικονομική Θεωρία Ι ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Μακροοικονομική Θεωρία Ι Διάλεξη 5: Συνολική Ζήτηση και Συνολική Προσφορά (Μέρος Α) Διδάσκων: Γιαννέλλης Νικόλαος ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

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

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 2: Μεταβλητές και Σταθερές Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης

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

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Ενότητα 7: Υπορουτίνες Καθ. Γιάννης Γαροφαλάκης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ και Πληροφορικής Ορισμός Αφαίρεση με χρήση υπορουτινών (subroutine abstraction)

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

τατιςτική ςτην Εκπαίδευςη II

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

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

ΔΙΟΙΚΗΤΙΚΗ ΕΠΙΣΤΗΜΗ ΚΕΦΑΛΑΙΟ 2#: ΕΙΣΑΓΩΓΗ ΣTΗ ΔΙΟΙΚΗΤΙΚΗ ΕΠΙΣΤΗΜΗ

ΔΙΟΙΚΗΤΙΚΗ ΕΠΙΣΤΗΜΗ ΚΕΦΑΛΑΙΟ 2#: ΕΙΣΑΓΩΓΗ ΣTΗ ΔΙΟΙΚΗΤΙΚΗ ΕΠΙΣΤΗΜΗ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΔΙΟΙΚΗΤΙΚΗ ΕΠΙΣΤΗΜΗ ΚΕΦΑΛΑΙΟ 2#: ΕΙΣΑΓΩΓΗ ΣTΗ ΔΙΟΙΚΗΤΙΚΗ ΕΠΙΣΤΗΜΗ Διδάσκων: Μανασάκης Κωνσταντίνος ΤΜΗΜΑ ΠΟΛΙΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Τα κείμενα και τα διαγράμματα της παρουσίασης

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

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

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

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

Μακροοικονομική Θεωρία Ι

Μακροοικονομική Θεωρία Ι ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Μακροοικονομική Θεωρία Ι Διάλεξη 6: Συνολική Ζήτηση και Συνολική Προσφορά (Μέρος Β) Διδάσκων: Γιαννέλλης Νικόλαος ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

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

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

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

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 1: Εισαγωγή Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο

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

Ανταλλαγι Μθνυμάτων. Κϊςτασ Διαμαντάρασ Τμιμα Πλθροφορικισ ΤΕΙ Θεςςαλονίκθσ

Ανταλλαγι Μθνυμάτων. Κϊςτασ Διαμαντάρασ Τμιμα Πλθροφορικισ ΤΕΙ Θεςςαλονίκθσ Ανταλλαγι Μθνυμάτων Κϊςτασ Διαμαντάρασ Τμιμα Πλθροφορικισ ΤΕΙ Θεςςαλονίκθσ Στζλνω και λαμβάνω μθνφματα Θέματα: Προσ ποιόν ςτζλνονται τα δεδομζνα; Τι ςτζλνεται; Πϊσ ο δζκτθσ αναγνωρίηει τα δεδομζνα; 2 Πζραςμα

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

Προγραμματισμός Η/Υ. Ενότητα 3: Top Down Σχεδιασμός

Προγραμματισμός Η/Υ. Ενότητα 3: Top Down Σχεδιασμός Προγραμματισμός Η/Υ Ενότητα 3: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Κατανόηση της έννοιας της διεργασίας

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 3: Εισαγωγή και Εμφάνιση Δεδομένων Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες

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

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

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

3/5/2012 Συστήματα κατανεμημένης μνήμης και ο προγραμματισμός τους (ΙI) Β. Δημακόπουλος

3/5/2012 Συστήματα κατανεμημένης μνήμης και ο προγραμματισμός τους (ΙI) Β. Δημακόπουλος Υ07 Παράλληλα Συστήματα 2011-12 3/5/2012 Συστήματα κατανεμημένης μνήμης και ο προγραμματισμός τους (ΙI) Β. Δημακόπουλος MPI συλλογικές επικοινωνίες Συλλογικές επικοινωνίες (collective communications) Εκτός

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

Γνωστική Ψυχολογία 3

Γνωστική Ψυχολογία 3 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Γνωστική Ψυχολογία 3 Ενότητα #5: Βραχύχρονη Μνήμη Διδάσκων: Οικονόμου Ηλίας ΤΜΗΜΑ ΨΥΧΟΛΟΓΙΑΣ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

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

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

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

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