Υπολογισμοί Μεταβίβασης Μηνυμάτων
|
|
- Κύμα Βασιλόπουλος
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Υπολογισμοί Μεταβίβασης Μηνυμάτων Κ.Γ. Μαργαρίτης προσαρμογή από το μάθημα του Barry Wilkinson ITCS 4145/ Cluster Computing Univ. of North Carolina at Charlotte 2.1
2 2.2 Προγραμματισμός μεταβίβασης μηνυμάτων με βιβλιοθήκες χρήστη Απαιτούνται δύο βασικοί μηχανισμοί: 1. Μηχανισμός δημιουργίας διεργασιών που εκτελούνται σε διαφορετικούς υπολογιστές 2. Μηχανισμός μεταβίβασης μηνυμάτων
3 Πολλαπλά προγραμμάτα, πολλαπλά δεδομένα Multiple program, multiple data (MPMD) Κώδικας Κώδικας Συμβολομετάφραση ανάλογα με τον επεξεργαστή Εκτελέσιμο Επεξεργαστής 0 Επεξεργαστήςp
4 2.4 Aπλό πρόγραμμα, πολλαπλά δεδομένα Single Program Multiple Data (SPMD) Διαφορετικές διεργασίες σε ένα πρόγραμμα. Δηλώσεις ελέγχου επιλέγουν διαφορετικά τμήματα του προγράμματος για να εκτελεστούν σε κάθε επεξεργαστή. Όλα τα εκτελέσιμα ξεκινούν μαζί και οι διεργασίες είναι στατικές.. Τυπική μέθοδος του MPI Κώδικας Εκτελέσιμο Συμβολομετάφραση ανάλογα με τον επεξεργαστή Processor 0 Processor p - 1
5 2.5 Στατικές και δυναμικές διεργασίες Το βασικό εκτελέσιμο πρόγραμμα αποτελεί τη βασική στατική διεργασία, με χρόνο ζωής όσο και το πρόγραμμα. Η βασική διεργασία μπορεί να δημιουργεί άλλες δυναμικές διεργασίες στον ίδιο επεξεργαστή (ή και σε άλλο?). Διεργασία 1 - στατική spawn(); Εναρξη εκτέλεσης διεργασίας 2 Διεργασία 2 δυναμική Χρόνος
6 2.6 Βασικές σημειακές συναρτήσεις αποστολής και παραλαβής Μεταβίβαση ενός μηνύματος μεταξύ διεργασιών με συναρτήσεις βιβλιοθήκης send() and recv(): Διεργασία 1 Διεργασία 2 x y send(&x, 2); Κίνηση δεδομένων recv(&y, 1); Γενικευμένη σύνταξη (ακριβής μορφή αργότερα)
7 2.7 Σύγχρονη μεταβίμαση μηνυμάτων Οι συναρήσεις επιστρέφουν μόνο όταν η μεταφορά δεδομένων ολοκληρωθεί. Σύγχρονη αποστολή (synchronous send) Αναμένει μέχρι το πλήρες μήνυμα να μπορέι να παραληφθεί από την αντίστοιχη συνάρτηση και μετά ξεκινά την αποστολή. Σύγχρονη παραλαβή (synchronous receive) Αναμένει μέχρι την άφιξη του μηνύματος που περιμένει. Οι σύγχρονες συναρτήσεις εκτελούν δύο δράσεις: Μεταβίβαση δεδομένων και συγχρονισμό διεργασιών.
8 Πρωτόκολλο σύγχρονου send() και recv() Διεργασία 1 Διεργασία 2 Χρόνος Αναστολή Διεργασίας 1 Συνεχίζουν και οι δύο διεργασίες send(); Αίτημα αποστολής Αποδοχή (Ack) recv(); Μήνυμα (α) Όταν το send() συμβαίνει πριν το recv() Διεργασία 1 Διεργασία 2 Χρόνος Συνεχίζουν και οι δύο διεργασίες recv(); Aίτημα αποστολής send(); Μήνυμα Αποδοχή (Ack) (β) Όταν το recv() συμβαίνει πριν το send() Αναστολή Διεργασίας 2 2.8
9 2.9 Ασύγχρονη μεταβίβαση μηνυμάτων Οι συναρτήσεις επιστρέφουν χωρίς να περιμένουν την μεταφορά δεδομένων. Συνήθως απαιτείται τοπική αποθήκευση των μηνυμάτων. Αρκετές εκδόσεις ανάλογα με την ακριβή υλοποίηση της επιστροφής (ανασταλτική / blocking, μη-ανασταλτική / non-blocking). Γενικά δεν συγχρονίζουν αλλά επιτρέπουν τις διεργασίες να κινηθούν συντομότερα. Απαιτούν προσοχή στη χρήση.
10 2.10 Ανασταλτικός και Μη-ανασταλτικός Blocking και Non-Blocking Ανασταλτικός / Blocking επιστρέφει αφού οι τοπικές εργασίες αποθήκευσης έχουν ολοκληρωθεί, αν και η μεταφορά δεδομένων μπορεί να μην έχει τελειώσει. Μη-ανασταλτικός / Non-blocking επιστρέφει αμέσως. Υποθέτουν οτι η τοπική αποθήκευση δεδομένων δεν τροποποιείται από μετέπειτα συναρτήσεις, οι οποίες όμως μπορεί να συμβούν πριν τη μεταφορά δεδομένων. Υπεύθυνος ο προγραμματιστής. Οι όροι αυτοί μπορεί να έχουν διαφορετική σημασία σε άλλα συστήματα.
11 2.11 Επιστροφή της συνάρτησης πριν την ολοκλήρωση της μεταφοράς Απαιτείται απομονωτής μηνυμάτων μεταξύ του αποστολέα και του παραλήπτη. Διεργασία 1 Διεργασία 2 Χρόνος Συνέχιση διεργασίας send(); Απομονωτής recv(); Ανάγνωση απομονωτή
12 2.12 Ασύγχρονες (ανασταλτικές) συναρτήσεις που μετατρέπονται σε σύγχρονες Όταν ολοκληρωθούν οι τοπικές εργασίες, και το μήνυμα πάρει το δρόμο του, η αποστέλουσα διεργασία μπορεί να συνεχίσει. Οι απομονωτές έχουν πεπερασμένο μέγεθος και κάποτε μπορεί η συνάρτηση αποστολής να μην μπορεί να γράψει τα δεδομένα της στον απομονωτή. Τότε η συνάρτηση αποστολής περιμένει μέχρι να υπάρξει διαθέσιμος χώρος στον απομονωτή, δηλαδή η συνάρτηση φέρεται σαν σύγχρονη.
13 2.13 Επίθεμα μηνύματος Διαφοροποίηση του τύπου των μηνυμάτων που αποστέλονται. Το επίθεμα βρίσκεται μέσα στο μήνυμα. Αν δεν απαιτείται συγκεκριμένος τύπος μηνύματος τότε χρησιμοποιείται επίθεμα wild card, ώστε η recv() αναγνωρίζει κάθε send().
14 2.14 Παράδειγμα επιθέματος Αποστολή μηνύματος x, με επίθεμα 5, από τη διεργασία 1 στη διεργασία 2, και εκχώρηση του x στο y. Διεργασία 1 Διεργασία 2 x y send(&x,2, 5); Κίνηση των δεδομένων recv(&y,1, 5); Περιμένει ένα μήνυμα από τη διεργασία 1 με ετικέτα 5
15 2.15 Συλλογική μεταβίβαση μηνυμάτων Συναρτήσεις που αποστέλουν-παραλαμβάνουν ένα ή περισσότερα μηνύματα σε-από μια ομάδα διεργασιών. Μεγαλύτερη αποτελεσματικότητα από τις ξεχωριστές σημειακές συναρήσεις, αλλά δεν είναι απόλυτα απαραίτητες.
16 2.16 Πανεκπομπή - Πολυεκπομπή Πανεκπομπή (Broadcast): Αποστολή του ίδιου μηνύματος σε όλες τις διεργασίες του προγράμματος. Πολυεκπομπή (Multicast): Αποστολή του ίδιου μηνύματος σε καθορισμένη ομάδα διεργασιών. Διεργασία 0 Διεργασία 1 Διεργασία p - 1 data data data Ενέργεια buf Κώδικας bcast(); bcast(); bcast(); MPI form
17 2.17 Διανομή (Scatter) Αποστολή ενός ξεχωριστού στοιχείου από ένα πίνακα της ριζικής διεργασίας σε κάθε διεργασία παραλαβής. Το στοιχείο i του πίνακα αποστέλεται στη διεργασία i. Διεργασία 0 Διεργασία 1 Διεργασία p - 1 data data data Ενέργεια buf Κώδικας scatter(); scatter(); scatter(); MPI form
18 2.18 Συλλογή (Gather) Η ριζική διεργασία συλλέγει ξεχωριστές τιμές από ένα σύνολο διεργασιών και τις αποθηκεύει σε ένα πίνακα. Το στοιχείο i του πίνακα παραλαμβάνεται από τη διεργασία i. Διεργασία 0 Διεργασία 1 Διεργασία p - 1 data data data Ενέργεια buf Κώδικας gather(); gather(); gather(); MPI form
19 Αναγωγή (Reduce) Συλλογή σε συνδυασμό με καθορισμένη αριθμητική-λογική πράξη. Πχ: Οι τιμές συλλέγονται και αθροίζονται στη ριζική διεργασία. Process 0 Process 1 Process p - 1 data data data Ενέργεια buf + Κώδικας reduce(); reduce(); reduce(); MPI form 2.19
20 2.20 Εργαλεία λογισμικού για συστοιχίες Τέλη 1980 Parallel Virtual Machine (PVM) πολύ δημοφιλές τότε. Μέσα 1990 Message-Passing Interface (MPI) καθορισμός προτύπου. Υλοποιήσεις: MPICH, LAM. Βασίζονται στο υπόδειγμα προγραμματισμού μεταβιβασης μηνυμάτων. Παρέχουν συναρτήσεις βιβλιοθήκης για αρκετές ακολουθιακές γλώσσες (C, C++, Fortran...).
21 PVM Parallel Virtual Machine Παράλληλη Εικονική Μηχανή Η πρώτη ευρέως υιοθετημένη προσπάθεια για παράλληλο προγραμματισμό cluster. Αναπτύχθηκε στα by Oak Ridge National Laboratories. Διανέμεται δωρεάν. Ο προγραμματιστής αποσυνθέτει το πρόγραμμα του σε ξεχωριστά τμήματα, συνήθως ένας συντονιστής (master) και μια ομάδα ίδιων εργαζομένων (workers). Το προγράμματα συμβολομετραφράζονται για συγκεκριμένο τύπο υπολογιστή. Πριν από την εκτέλεση του προγράμματος, σε ένα hostfile, ορίζονται οι υπολογιστές που συμμετέχουν. 2.21
22 2.22 Η δρομολόγηση μηνυμάτων γίνεται από το PVM daemon processes που εγκαθλισταται από το PVM σε κάθε υπολογιστή. Workstation Can have more than one process running on each computer. Workstation PVM daemon Application program (executable) Messages sent through network PVM daemon Application program (executable) MPI implementation we use is similar. Workstation PVM daemon Application program (executable)
23 2.23 MPI Message Passing Interface Διεπαφή Μεταβίβασης Μηνυμάτων Πρότυπη βιβλιοθήκη μεταβίβασης μηνυμάτων που αναπτύχθηκε από ακαδημαικούς και βιομηχανία με στόχο τη ευρεία χρήση και τη φορητότητα. Ορίζει συναρτήσεις και λειτουργίς, όχι την υλοποίηση. Διάφορες υλοποιήσεις: MPICH, LAM.
24 2.24 MPI Δημιουργία και εκτέλεση διεργασιών Επίτηδες δεν ορίζεται εξαρτάται από την υλοποίηση. Μόνο στατικές διεργασίες στο MPI v.1. Όλες οι διεργασίες πρέπει να ορίζονται πριν την εκτέλεση και να ξεκινούν ταυτόχρονα. Αρχικά υποστηρίζεται κυρίως το μοντέλο SPMD. Το μοντέλο MPMD είναι δυνατό να υποστηριχτεί με στατική δημιουργία διεργασιών και ταυτόχρονη έναρξη όλων των προγραμμάτων.
25 2.25 Περιβάλλοντα επικοινωνίας Communicators Ορίζει το περιβάλλον μιας λειτουργίας επικοινωνίας. Οι διεργασίες έχουν έναν αριθμό (rank) που σχετίζεται με ένα περιβάλλον (communicator). Αρχικά όλες οι διεργασίες εγγράφονται σε ένα καθολικό περιβάλλον, ονομαζόμενο MPI_COMM_WORLD, και λαμβάνουν ένα μοναδικό αριθμό (rank), από 0 έως p - 1, για p διεργασίες. Μπορεί να οριστούν και άλλα περιβάλλοντα επικοινωνάς για ομάδες διεργασιών.
26 Χρήση μοντέλου SPMD main (int argc, char *argv[]) { MPI_Init(&argc, &argv);... MPI_Comm_rank(MPI_COMM_WORLD, &myrank); /*find process rank */ if (myrank == 0) master(); else worker();... MPI_Finalize(); } όπου master() και worker() εκτελούνται από τη διεργασία συντονιστή και εργαζομένων, αντίστοιχα. 2.26
27 2.27 Ανασφαλής μεταβίβαση μηνύματος Διεργασία 0 Διεργασία 1 Παραλήπτης send(,1, ); lib() send(,1, ); Αποστολέας (α) Πρόθεση recv(,0, ); lib() recv(,0, ); Διεργασία 0 Διεργασία 1 send(,1, ); (β) Πιθανότητα lib() send(,1, ); recv(,0, ); lib() recv(,0, );
28 2.28 Λύση του MPI: Περιβάλλοντα επικοινωνίας Ορίζει ένα περιβάλλον επικοινωνίας ένα σύνολο διεργασιών που επιτρέπεται να επικοινωνούν μεταξύ τους. Τα περιβάλλοντα επικοινωνίας των βιβλιοθηκών μπορεί να είναι διαφορετικά από αυτά των προγραμμάτων χρηστών. Τα περιβάλλοντα επικοινωνίας χρησιμοποιούνται σε όλες τις σημειακές και συλλογικές επικοινωνίες.
29 2.29 Ανασταλτικές συναρτήσεις Blocking send - MPI_Send() - επιστρέφει όταν ο απομονωτής μπορεί να χρησιμοποιηθεί ή τροποποιηθεί χωρίς κίνδυνο για το μήνυμα. Blocking receive - MPI_Recv() - επιστρέφει όταν μπορεί να χρησιμοποιηθεί ή τροποποιηθεί χωρίς κίνδυνο για το μήνυμα.
30 2.30 Παράμετροι blocking send MPI_Send (buf, count, datatype, dest, tag, comm) Διεύθυνση του απομονωτή Τύπος δεδομένων Επίθεμα αποστολής στοιχείων Αριθμός στοιχείων Αριθμός παραλήπτη Επικ. Περιβάλλον αποστολής
31 2.31 Παράμετροι blocking receive MPI_Recv (buf, count, datatype, src, tag, comm, status) Status Διεύθυνση του απομονωτήτύπος δεδομένων Επίθεμα μετά την λειτουργία παραλαβής στοιχείων Μέγιστος αριθμός Αριθμός αποστολέα Επικ. Περιβάλλον στοιχείων παραλαβής
32 2.32 Παράδειγμα Αποστολή ενός ακεραίου x από τη διεργασία 0 στην διεργασία 1, MPI_Comm_rank(MPI_COMM_WORLD,&myrank); /* find rank */ if (myrank == 0) { int x; MPI_Send(&x, 1, MPI_INT, 1, msgtag, MPI_COMM_WORLD); } else if (myrank == 1) { } int x; MPI_Recv(&x, 1, MPI_INT, 0, msgtag, MPI_COMM_WORLD, status);
33 2.33 Μη-ανασταλτικές συναρτήσεις Nonblocking send - MPI_Isend() - επiστρέφει αμέσως ακόμη και πριν ο απομονωτής είναι ασφαλής για νέα χρήση. Nonblocking receive - MPI_Irecv() - επιστρέφει ακόμη και αν δεν έχουν παραληφθεί μηνύματα στον απομονωτή.
34 2.34 Μορφή nonblocking συναρτήσεων MPI_Isend(buf,count,datatype,dest,tag,comm,request) MPI_Irecv(buf,count,datatype,source,tag,comm, request) Έλεγχος ολοκλήρωσης: MPI_Wait() και MPI_Test(). MPI_Wait()περιμένει μέχρι την ολοκλήρωση και μετά επιστρέφει. MPI_Test()επιστρεφει με ένα flag που δείχνει αν η λειτουργία έχει ολοκληρωθεί ή οχι. Είναι αναγκαίο να ξέρουμε αν μια λειτουργία έχει ολοκληρωθεί. Αυτό επιτυγχάνεται με τη προσπέλαση της παραμέτρου request.
35 2.35 Παράδειγμα Αποστολή ενός ακεραίου από τη διεργασία 0 στη διεργασία 1, χωρίς η διεργασία 0 να περιμένει άμεσα αλλά αργότερα. MPI_Comm_rank(MPI_COMM_WORLD, &myrank); /* find rank */ if (myrank == 0) { int x; MPI_Isend(&x,1,MPI_INT, 1, msgtag, MPI_COMM_WORLD, req1); compute(); MPI_Wait(req1, status); } else if (myrank == 1) { int x; MPI_Recv(&x,1,MPI_INT,0,msgtag, MPI_COMM_WORLD, status); }
36 2.36 Τύποι αποστολής μηνυμάτων Τυπική - Δεν υποθέτει οτι η αντίστοιχη παραλαβή έχει ξεκινήσει. Το μέγεθος του απομονωτή δεν ορίζεται από το MPI. Αν διατίθεται απομονωτής, η αποστολή μπορεί να ολοκληρωθεί πριν ξεκινήσει η παραλαβή. Απομονωμένη Η αποστολή μπορεί να ξεκινήσει και να επιστρέψεθ πριν ξεκινήσει η αντίστοιχη παραλαβή. Αναγκαίος ο ορισμός μεγέθους απομονωτή μέσω της συνάρτησης MPI_Buffer_attach(). Σύγχρονη Η αποστολή και η παραλαβή ξεκινούν ανεξάρτητα αλλά ολοκληρώνονται μαζί. Αναμονής Η αποστολή μπορεί να ξεκινήσει μόνο αν η αντίστοιχη παραλαβή έχει ξεκινήσει, αλλιώς η αποστολή προκαλεί σφάλμα. Προσοχή στη χρήση.
37 2.37 Τύποι αποστολής μηνυμάτων (συν.) Κάθε τύπος μπορεί να εφαρμοστεί στις συναρτήσεις αποστολής blocking send και nonblocking send. Για τις συναρτήσεις παραλαβής blocking receive and nonblocking receive προβλέπεται μόνο η τυπική μέθοδος (παραλαβής). Κάθε τύπος συνάρτησης αποστολής μπορεί να συνδυαστεί με οποιοδήποτε τύπο συνάρτησης παραλαβής.
38 2.38 Παράμετροι syncronous send (ίδιοι με blocking send) MPI_Ssend (buf, count, datatype, dest, tag, comm) Διεύθυνση του απομονωτή Τύπος δεδομένων Επίθεμα αποστολής στοιχείων Αριθμός στοιχείων Αριθμός παραλήπτη Επικ. Περιβάλλον αποστολής
39 2.39 Συλλογική επικοινωνία Αρκετές διεργασίες, που ορίζονται σε ειδικό communicator. Δεν υπάρχουν επιθέματα. Βασικές συναρτήσεις: MPI_Bcast() - Πανεκπομπή προς όλες τις διεργασίες MPI_Gather() - Συλλογή από ομάδα διεργασιών MPI_Scatter() - Διανομή κατά τμήματα σε ομάδα διεργασιών MPI_Alltoall() - Αποστολή δεδομένων από όλους προς όλους MPI_Reduce() - Αναγωγή τιμών από όλες τις διεργασίες σε μια τιμή MPI_Reduce_scatter()- Αναγωγή τιμών και διανομή αποτελσμάτων MPI_Scan() - Υπολογισμός prefix reductions of data σε διεργασίες MPI_Barrier() - Μέσο συγχρονισμού διεργασιών: μια διεργασία που ανήκει σε μια ομάδα διεργασιών 'σταματά' σε μια διεργασία - 'φράγμα' μέχρι να φθάσουν όλες οι διεργασίες της συγκεκριμένης ομάδας
40 2.40 Φράγμα (Barrier) Mια διεργασία που ανήκει σε μια ομάδα διεργασιών 'σταματά' σε μια διεργασία - 'φράγμα' μέχρι να φθάσουν όλες οι διεργασίες της συγκεκριμένης ομάδας. Η ομάδα ορίζεται από το communicator. MPI_Barrier(comm) communicator
41 2.41 Πανεκπομπή (Broadcast) MPI_Bcast(*buf, count, datatype, root, comm) Παράμετροι: *buf απομονωτής μηνύματος count αριθμός στοιχείων στον απομονωτή datatype τύπος δεδομένων στον απομονωτή root αριθμός της διεργασίας ρίζας (αποστολέας) comm περιβάλλον επικοινωνίας (παραλήπτες)
42 2.42 Συλλογή (Gather) MPI_Gather(*sendbuf, sendcount, sendtype, *recvbuf, recvcount, recvtype, root, comm) Παράμετροι: *sendbuf απομονωτής αποστολής sendcount αριθμός στοιχείων απομ. αποστολής sendtype τύπος δεδομένων αποστολής *recvbuf απομονωτής παραλαβής recvcount αριθμός στοιχείων απομ. παραλαβής recvtype τύπος δεδομένων παραλαβής root αριθμός διεργασίας συλλογής comm περιβάλλον επικοινωνίας
43 Παράδειγμα Συλλογή δεδομένων στη διεργασία 0, με χρήση δυναμικά εκχωρούμενης μνήμης στη διεργασία παραλαβής: int data[10]; /*data to be gathered from processes*/ MPI_Comm_rank(MPI_COMM_WORLD, &myrank); /* find rank */ if (myrank == 0) { MPI_Comm_size(MPI_COMM_WORLD, &grp_size); /*find group size*/ buf = (int *)malloc(grp_size*10*sizeof (int)); /*allocate memory*/ } MPI_Gather (data, 10, MPI_INT, buf, grp_size*10, MPI_INT, 0, MPI_COMM_WORLD) ; Το MPI_Gather() συλλέγει και από τη ρίζα. 2.43
44 2.44 Διανομή (Scatter) σε τμήματα MPI_Scatter(*sendbuf, sendcount, sendtype, *recvbuf, recvcount, recvtype, root, comm) Παράμετροι: *sendbuf απομονωτής αποστολής sendcount αριθμός στοιχείων αποστολής (σε κάθε διεργασία) sendtype τύπος δεδομένων αποστολής *recvbuf απομονωτής παραλαβής recvcount αριθμός στοιχείων παραλαβής recvtype τύπος δεδομένων παραλαβής root αριθμός διεργασίας ρίζας comm περιβάλλον επικοινωνίας
45 2.45 Αναγωγή (Reduce) MPI_Reduce(*sendbuf,*recvbuf,count,datatype,op,root,comm) Παράμετροι: *sendbuf απομονωτής αποστολής *recvbuf απομονωτής παραλαβής count αριθμός στοιχείων αποστολής datatype τύπος στοιχείων αποστολής op πράξη αναγωγής Μερικές από τις διαθέσιμες είναι MPI_MAX Μέγιστο MPI_MIN Ελάχιστο MPI_SUM Άθροισμα MPI_PROD Γινόμενο root αριθμός διεργασίας ρίζας comm περιβάλλον επικοινωνίας
46 2.46 Πρόγραμμα MPI #include mpi.h #include <stdio.h> #include <math.h> #define MAXSIZE 1000 void main(int argc, char *argv) { int myid, numprocs; int data[maxsize], i, x, low, high, myresult, result; char fn[255]; /* file name */ char *fp; MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD,&numprocs); MPI_Comm_rank(MPI_COMM_WORLD,&myid);...
47 if (myid == 0) {... /* Open input file fn and initialize data */ if ((fp = fopen(fn, r )) == NULL) { printf( Can t open the input file: %s\n\n, fn); exit(1); } for(i = 0; i < MAXSIZE; i++) fscanf(fp, %d, &data[i]); } MPI_Bcast(data, MAXSIZE, MPI_INT, 0, MPI_COMM_WORLD); /* broadcast data */ x = n/nproc; /* Add my portion Of data */ low = myid * x; high = low + x; for(i = low; i < high; i++) myresult += data[i]; printf( I got %d from %d\n, myresult, myid); /* Compute global sum */ MPI_Reduce(&myresult, &result, 1, MPI_INT, MPI_SUM, 0, MPI_COMM_WORLD); if (myid == 0) printf( The sum is %d.\n, result); MPI_Finalize(); 2.47
48 2.48 Εκτέλεση προγραμμάτων MPI Μεταξύ των διαφόρων υλοποιήσεων του MPI υπάρχουν μικρές διαφορές. Αναφερόμαστε στο MPICH or MPICH-2. Έχει εκδόσεις για Linux και Windows, εύκολη εγκατάσταση.
49 2.49 Αρχείο hostfile ή machinefile (mf) Γενικά απαιτείται ένα αρχείο mf με τους υπολογιστές που θα χρησιμοποιηθούν. Από εκεί αντλεί πληροφορίες το MPI. Στο MPICH, αν υπάρχει μόνο ένας υπολογιστής τότε αυτό το αρχείο δεν είναι απαραίτητο.
50 2.50 Εντολές MPICH Δύο βασικές εντολές: mpicc, μεταγλώττιση προγραμμάτων MPI mpirun, εκτέλεση προγραμμάτων MPI.
51 Παράδειγμα εκτέλεσης προγράμματος σε ένα υπολογιστή 2.51 Στη γραμμή εντολών (με εγκαταστημένο MPICH) Μεταγλώττιση: for C mpicc -o prog prog.c for C++ mpicc -o prog prog.cpp verbose mode Εκτέλεση: mpirun -v -np no_procs prog αριθμός διεργασιών H mpiun αντικαθίσταται σταδιακά από την mpiexec.
52 2.52 Παράδειγμα εκτέλεσης προγράμματος σε συστοιχία υπολογιστών Δημιουργία του machinefile mf. Μεταγλώττιση όπως προηγούμενα. Εκτέλεση : mpirun -machinefile mf -np 4 prog εκτέλεση του prog σε 4 διεργασίες - αντίγραφα. Κάθε διεργασία θα εκτελεστεί σε ένα υπολογιστή από το machinefile, παίρνοντας τους υπολογιστές με τη σειρά. Αν υπάρχουν περισσότερες διεργασίες από υπολογιστές τότε η ανάθεση γίνεται κυκλικά από την αρχή. Στο machinefile μπορούμε να ορίσουμε μέγιστο αριθμό διεργασιών σε κάθε υπολογιστή.
53 2.53 Cluster & Grid UoM Οδηγίες χρήσης ειδικά για το Electra Cluster guide.
ύο μηχανισμοί απαιτούνται: 1. Μία μέθοδος για τη δημιουργία διεργασιών
Υπολογισμός με βάση το πέρασμα μηνυμάτων Προγραμματισμός με πέρασμα μηνυμάτων ύο μηχανισμοί απαιτούνται: 1. Μία μέθοδος για τη δημιουργία διεργασιών που θα εκτελούνται σε διαφορετικούς υπολογιστές. 2.
Διαβάστε περισσότεραΥπολογιστικές Μέθοδοι Ανάλυσης και Σχεδιασµού Υπολογιστικό Εργαστήριο Μάθηµα 1 Εισαγωγή στο MPI http://ecourses.chemeng.ntua.gr/courses/computational_methods Αρχιτεκτονικές Παράλληλων Υπολογιστών Shared
Διαβάστε περισσότεραΑρχιτεκτονική κοινής μνήμης
Αρχιτεκτονική κοινής μνήμης Οι επεξεργαστές έχουν κοινή μνήμη Κάθε επεξεργαστής διαθέτει τοπική ιεραρχία κρυφών μνημών Συνήθως η διασύνδεση γίνεται μέσω διαδρόμου μνήμης (memory bus) Αλλά και πιο εξελιγμένα
Διαβάστε περισσότεραΣυστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 5: MPI_Reduce Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής
Διαβάστε περισσότεραΣυστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 2: OpenMPI Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής
Διαβάστε περισσότεραΣυστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 4: MPI_ANY_TAG,MPI_ANY_SOURCE,MPI_Bcast, MPI_Wtime, MPI_Wait, MPI_Test, MPI_Scatter Δρ. Μηνάς Δασυγένης
Διαβάστε περισσότεραMessage Passing Interface (MPI)
Message Passing Interface (MPI) Συστήµατα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστηµάτων Αθήνα, εκέµβριος 2002 Τι είναι το MPI; Είναι πρότυπο, όχι συγκεκριµένη υλοποίηση Βιβλιοθήκη ανταλλαγής
Διαβάστε περισσότεραΣυστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 5: MPI_Reduce Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής
Διαβάστε περισσότεραMessage Passing Interface (MPI)
Message Passing Interface (MPI) Συστήµατα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστηµάτων Αθήνα, Νοέµβριος 2003 24/11/2003 Message Passing Interface (MPI) 1 Παράλληλες αρχιτεκτονικές Αρχιτεκτονική
Διαβάστε περισσότεραΣυστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 2: OpenMPI Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής
Διαβάστε περισσότεραΣυστήµατα Παράλληλης Επεξεργασίας. Message Passing Interface (MPI)
Message Passing Interface (MPI) Αρχιτεκτονική κοινής µνήµης Οι επεξεργαστές έχουν κοινή µνήµη Κάθε επεξεργαστής διαθέτει τοπική ιεραρχία κρυφών µνηµών Συνήθως η διασύνδεση γίνεται µέσω διαδρόµου µνήµης
Διαβάστε περισσότεραΣυστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 4: MPI_ANY_TAG,MPI_ANY_SOURCE,MPI_Bcast, MPI_Wtime, MPI_Wait, MPI_Test, MPI_Scatter Δρ. Μηνάς Δασυγένης
Διαβάστε περισσότεραMPI: Message Passing Interface
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων MPI: Message Passing Interface 9 ο Εξάμηνο Αρχιτεκτονική κοινής μνήμης Οι επεξεργαστές
Διαβάστε περισσότεραΣυστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας
Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:05 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων
Διαβάστε περισσότεραMPI: Message Passing Interface
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων MPI: Message Passing Interface 9ο Εξάμηνο Αρχιτεκτονική κοινής μνήμης Οι επεξεργαστές έχουν
Διαβάστε περισσότεραMessage Passing Interface (MPI)
Message Passing Interface (MPI) Συστήµατα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστηµάτων Αθήνα, Οκτώβριος 2009 21/10/2009 Message Passing Interface (MPI) 1 Παράλληλες αρχιτεκτονικές Αρχιτεκτονική
Διαβάστε περισσότεραMessage Passing Interface (MPI)
Message Passing Interface (MPI) Συστήµατα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστηµάτων Αθήνα, Νοέµβριος 2004 22/11/2004 Message Passing Interface (MPI) 1 Παράλληλες αρχιτεκτονικές Αρχιτεκτονική
Διαβάστε περισσότεραΕισαγωγή. 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 Κλήση
Διαβάστε περισσότεραΚεφάλαιο VIΙΙ Β. Δημακόπουλος
Μεταβίβαση μηνυμάτων Κεφάλαιο VIΙΙ Β. Δημακόπουλος Προγραμματίζοντας με μεταβίβαση μηνυμάτων Δεν υπάρχουν κοινές μεταβλητές διεργασίες και μηνύματα Θεωρείται το πιο δύσκολο Μπορεί, όμως, να γίνει πιο αποδοτικό
Διαβάστε περισσότεραΚατανεμημένος και Παράλληλος Προγραμματισμός MPI. MPI Απλές εντολές 03/13/2016. Οδηγίες αποστολής / παραλαβής μηνυμάτων, Υπολογισμός του π (
Κατανεμημένος και Παράλληλος Προγραμματισμός Ηλίας Κ. Σάββας Αναπληρωτής Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Θεσσαλίας Email: savvas@teilar.gr MPI Οδηγίες αποστολής / παραλαβής μηνυμάτων, Υπολογισμός
Διαβάστε περισσότεραΕπικοινωνία. Message-Passing Interface (MPI) Βασικές Κλήσεις για Sockets. Μοντέλο Μεταβίβασης Μηνυµάτων. Μοντέλα Παράλληλου Υπολογισµού
Ε-85: Ειδικά Θέµατα Λογισµικού Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων Χειµερινό Εξάµηνο 2009-10 Επικοινωνία Πολλάκατανεµηµένα συστήµατα υλοποιούνται πάνω από ένα απλό µοντέλο µηνυµάτων επικοινωνίας,
Διαβάστε περισσότεραΕ-85: Ειδικά Θέµατα Λογισµικού
Ε-85: Ειδικά Θέµατα Λογισµικού Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων Χειµερινό Εξάµηνο 2009-10 «Εισαγωγή στο MPI» Παναγιώτης Χατζηδούκας (Π.Δ. 407/80) E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών
Διαβάστε περισσότεραΤο 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
Διαβάστε περισσότεραΤο 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 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 Vasileios Karakasis GRNET S.A., ICCS bkk@cslab.ece.ntua.gr Issues on Grid Technologies, Univ. of Patras, 2/3/2010 Σύνοψη παρουσίασης
Διαβάστε περισσότεραMPI: Message Passing Interface
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων MPI: Message Passing Interface 9 ο Εξάμηνο Αρχιτεκτονική κοινής μνήμης l l l Οι επεξεργαστές
Διαβάστε περισσότεραΕΚΔΟΣΗ 1.0 ΟΚΤΩΒΡΙΟΣ, 2017 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ ΣΤO MESSAGE PASSING INTERFACE - MPI ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β.
ΕΚΔΟΣΗ 1.0 ΟΚΤΩΒΡΙΟΣ, 2017 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ ΣΤO MESSAGE PASSING INTERFACE - MPI ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ CONTENTS ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ... 2 Εισαγωγή...
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μεταβίβαση μηνυμάτων. Κεφάλαιο 5 (νέο βιβλίο) Κεφάλαιο 8 (παλιές σημειώσεις)
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μεταβίβαση μηνυμάτων Κεφάλαιο 5 (νέο βιβλίο) Κεφάλαιο 8 (παλιές σημειώσεις) Προγραμματίζοντας με μεταβίβαση μηνυμάτων Δεν υπάρχουν κοινόχρηστες μεταβλητές διεργασίες και μηνύματα Θεωρείται
Διαβάστε περισσότεραΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Της φοιτήτριας Αριστέας Χρονοπούλου Αρ. Μητρώου: 01 / Επιβλέπων Καθηγητής Αθανάσιος Μάργαρης
ΑΛΕΞΑΝ ΡΕΙΟ Τ.Ε.Ι. ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΤΟ ΜΟΝΤΕΛΟ ΜΕΤΑΒΙΒΑΣΗΣ ΜΗΝΥΜΑΤΩΝ MESSAGE PASSING INTERFACE (MPI) Της φοιτήτριας Αριστέας Χρονοπούλου Αρ.
Διαβάστε περισσότεραMPI: Βαςικζσ Εντολζσ Επικοινωνίασ. Κώςτασ Διαμαντάρασ Τμιμα Πλθροφορικισ ΤΕΙ Θεςςαλονίκθσ 2011
MPI: Βαςικζσ Εντολζσ Επικοινωνίασ Κώςτασ Διαμαντάρασ Τμιμα Πλθροφορικισ ΤΕΙ Θεςςαλονίκθσ 2011 Εντολζσ Επικοινωνίασ ςθμείο προσ ςθμείο (point-to-point) MPI_Send, MPI_Recv MPI_Isend, MPI_Irecv 2 Κώςτασ Διαμαντάρασ
Διαβάστε περισσότεραΕμπειρική αποτίμηση παράλληλων προγραμμάτων
. 2a.1 Εμπειρική αποτίμηση παράλληλων προγραμμάτων Κ.Γ. Μαργαρίτης προσαρμογή από το μάθημα του Barry Wilkinson ITCS 4145/5145 2006 Cluster Computing Univ. of North Carolina at Charlotte 2a.2 Οπτικοποίηση
Διαβάστε περισσότεραΣυστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας
Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:04 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων
Διαβάστε περισσότεραΚατανεμημένος και Παράλληλος Προγραμματισμός. Εισαγωγή στο MPI. Εγκατάσταση MPICH σε ένα ΗΥ 10/3/2017
Κατανεμημένος και Παράλληλος Προγραμματισμός Ηλίας Κ. Σάββας Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Θεσσαλίας Email: savvas@teilar.gr Εισαγωγή στο MPI Εγκατάσταση του Message Passing Interface,
Διαβάστε περισσότεραΚατανεμημένος και Παράλληλος Προγραμματισμός MPI. Γρήγορος οδηγός αναφοράς 1/4/2017
Κατανεμημένος και Παράλληλος Προγραμματισμός Ηλίας Κ. Σάββας Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Θεσσαλίας Email: savvas@teilar.gr MPI Διαμοίραση (MPI_Scatter) και συλλογή δεδομένων (MPI_Gather)
Διαβάστε περισσότεραΣυστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 1: OpenMPI Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής
Διαβάστε περισσότεραΕΚΔΟΣΗ 1.1 ΜΑΙΟΣ, 2018 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΑΛΓΟΡΙΘΜΟΣ POLLING ΚΥΜΑΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β.
ΕΚΔΟΣΗ 1.1 ΜΑΙΟΣ, 2018 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ... 2 Ο αλγόριθμος Polling... 2 Ο Κυματικός Αλγόριθμος...
Διαβάστε περισσότεραΣυστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 3: MPI_Get_count, non blocking send/recv, εμφάνιση και αποφυγή αδιεξόδων Δρ. Μηνάς Δασυγένης mdasyg@ieee.org
Διαβάστε περισσότεραΕπιμερισμός δεδομένων
Επιμερισμός δεδομένων Διαίρει και βασίλευε Κ.Γ. Μαργαρίτης προσαρμογή από το μάθημα του Barry Wilkinson ITCS 4145/5145 2006Cluster Computing Univ. of North Carolina at Charlotte Επιμερισμός δεδομένων Κατανομή
Διαβάστε περισσότεραΕπιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί
Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί Χαρμανδάρης Βαγγέλης, Τμήμα Εφαρμοσμένων Μαθηματικών Πανεπιστήμιο Κρήτης, Εαρινό Εξάμηνο 2013/14 Κεφάλαιο 5: (B) Message Passing Interface
Διαβάστε περισσότεραNon-blocking Επικοινωνίεσ και Buffering. Κώςτασ Διαμαντάρασ ΤΕΙ Θεςςαλονίκθσ 2011
Non-blocking Επικοινωνίεσ και Buffering Κώςτασ Διαμαντάρασ ΤΕΙ Θεςςαλονίκθσ 2011 Η χριςθ buffer Ροφ πάνε τα δεδομζνα μετά το send? Διεργασία 1 Διεργασία 2 A Buffer Δίκτσο Buffer B 2 Κ. Διαμαντάρας ΤΕΙ
Διαβάστε περισσότεραΠρογραµµατισµός µε ανταλλαγή µηνυµάτων Ι. Εισαγωγή στο MPI. Εφαρµογές Ανεξάρτητου Παραλληλισµού.
Προγραµµατισµός µε ανταλλαγή µηνυµάτων Ι. Εισαγωγή στο MPI. Εφαρµογές Ανεξάρτητου Παραλληλισµού. Λογισµικό & Προγραµµατισµός Συστηµάτων Υψηλής Επίδοσης Οµάδα Παράλληλων & Κατανεµηµένων Συστηµάτων http://pdsgroup.hpclab.ceid.upatras.gr/
Διαβάστε περισσότεραΣυστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 1: OpenMPI Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής
Διαβάστε περισσότεραEM 361: Παράλληλοι Υπολογισμοί
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ EM 361: Παράλληλοι Υπολογισμοί Ενότητα #5Β: Message Passing Interface (MPI) Διδάσκων: Χαρμανδάρης Ευάγγελος ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΚΩΝ
Διαβάστε περισσότεραΕΚΔΟΣΗ 1.1 ΑΠΡΙΛΙΟΣ, 2018 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΤΟ ΠΡΩΤΟΚΟΛΛΟ ECHO ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ
ΕΚΔΟΣΗ 1.1 ΑΠΡΙΛΙΟΣ, 2018 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ CONTENTS ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ... 2 Το πρωτόκολλο ECHO... 2 Εισαγωγή... 2 Το πρωτόκολλο
Διαβάστε περισσότεραΣυστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας
Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:20 OpenMP Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων
Διαβάστε περισσότεραΕπιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί
Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί Χαρμανδάρης Βαγγέλης, Τμήμα Εφαρμοσμένων Μαθηματικών Πανεπιστήμιο Κρήτης, Εαρινό Εξάμηνο 2013/14 Κεφάλαιο 6: Εφαρμογές ΙΙ Παράλληλοι Υπολογισμοί
Διαβάστε περισσότεραΚατανεμημένος και Παράλληλος Προγραμματισμός. Εισαγωγή στο MPI. Εγκατάσταση MPICH σε ένα ΗΥ 6/3/2016
Κατανεμημένος και Παράλληλος Προγραμματισμός Ηλίας Κ. Σάββας Αναπληρωτής Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Θεσσαλίας Email: savvas@teilar.gr Εισαγωγή στο MPI Εγκατάσταση του Message Passing
Διαβάστε περισσότερα30/4/2012 Συστήματα κατανεμημένης μνήμης και ο προγραμματισμός τους (Ι) Β. Δημακόπουλος
Υ07 Παράλληλα Συστήματα 2011-12 30/4/2012 Συστήματα κατανεμημένης μνήμης και ο προγραμματισμός τους (Ι) Β. Δημακόπουλος multicomputers, MPPs, clusters Πολυεπεξεργαστές κατανεμημένης μνήμης Ανεξάρτητοι
Διαβάστε περισσότεραΠαράλληλα και Κατανεµηµένα Συστήµατα. Εισαγωγή
Παράλληλα και Κατανεµηµένα Συστήµατα 1 Εισαγωγή Στόχος της περιγραφής που ακολουθεί, αποτελεί η παρουσίαση του περιβάλλοντος διεπαφής ανταλλαγής µηνυµάτων (message passing interface) MPI δια της χρήσεως
Διαβάστε περισσότεραΗ γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η
Διαβάστε περισσότεραΠρογραμματισμός με Μεταβίβαση Μηνυμάτων
5 Προγραμματισμός με Μεταβίβαση Μηνυμάτων Σε αυτό το κεφάλαιο του βιβλίου θα ασχοληθούμε με το προγραμματιστικό μοντέλο μεταβίβασης μηνυμάτων (message passing model), κατά πολλούς το πιο ευρέως χρησιμοποιούμενο
Διαβάστε περισσότεραΠαραλληλισμός δεδομένων ή Φυσικός παραλληλισμός
Παραλληλισμός δεδομένων ή Φυσικός παραλληλισμός Κ.Γ. Μαργαρίτης προσαρμογή από το μάθημα του Barry Wilkinson ITCS 4145/5145 2006 Cluster Computing Univ. of North Carolina at Charlotte 3.2 Ένας υπολογισμός
Διαβάστε περισσότεραΚεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)
Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II (Διάλεξη 12) 12-1 Ανασκόπηση Δομής Προγράμματος με Συναρτήσεις 1 void PrintMessage (); Πρότυπο (Δήλωση) Συνάρτησης (Δηλώνουν τι επιπλέον συναρτήσεις θα χρησιμοποιήσουμε
Διαβάστε περισσότεραΠαράλληλη Επεξεργασία
Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στο OpenMP Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed Systems Group Τι είναι το OpenMP Πρότυπο Επέκταση στη C/C++ και τη Fortran
Διαβάστε περισσότεραΣωληνωτή επεξεργασία
Σωληνωτή επεξεργασία Κ.Γ. Μαργαρίτης προσαρμογή από το μάθημα του Barry Wilkinson ITCS 4145/5145 2006Cluster Computing Univ. of North Carolina at Charlotte 5.1 Σωληνωτή επεξεργασία Το πρόβλημα διαιρείται
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε
Διαβάστε περισσότεραΜεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 9 Συναρτήσεις Μέρος II Θέματα ιάλεξης Μη- ομημένος
Διαβάστε περισσότεραΚεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 12-1 Ανασκόπηση οµής Προγράµµατος µε Συναρτήσεις #include 1 void PrintMessage (); Πρότυπο ( ήλωση) Συνάρτησης (
Διαβάστε περισσότεραΕΚΔΟΣΗ 1.1 ΜΑΙΟΣ, 2018 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΕΚΛΟΓΗ ΑΡΧΗΓΟΥ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ
ΕΚΔΟΣΗ 1.1 ΜΑΙΟΣ, 2018 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΕΚΛΟΓΗ ΑΡΧΗΓΟΥ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ CONTENTS ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ... 2 Εκλογή αρχηγού... 2 Εισαγωγή... 2 Ο Αλγόριθμος
Διαβάστε περισσότερα(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15)
(Κεφάλαιο 2.7 και 12) Αρχεία στην C (Διάλεξη 15) 14-1 Επανάληψη στην Αποθήκευση (Storage) Για να αποθηκεύσουμε δεδομένα από ένα πρόγραμμα, πρέπει να χρησιμοποιήσουμε την Δευτερεύουσα Μνήμη 14-2 Επανάληψη
Διαβάστε περισσότεραΕΚΔΟΣΗ 1.0 ΟΚΤΩΒΡΙΟΣ, 2017 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΤΟ ΠΡΩΤΟΚΟΛΛΟ TARRY ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ
ΕΚΔΟΣΗ 1.0 ΟΚΤΩΒΡΙΟΣ, 2017 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΤΟ ΠΡΩΤΟΚΟΛΛΟ TARRY ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ CONTENTS ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ... 2 Το πρωτόκολλο TARRY... 2 Εισαγωγή...
Διαβάστε περισσότεραΣύγχρονοι υπολογισμοί
Σύγχρονοι υπολογισμοί Κ.Γ. Μαργαρίτης προσαρμογή από το μάθημα του Barry Wilkinson ITCS 4145/5145 2006 Cluster Computing Univ. of North Carolina at Charlotte 6.1 Σύγχρονοι υπολογισμοί Σε ένα (πλήρως) σύγρχονο
Διαβάστε περισσότεραΜεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα. Προγραμματισμός II 1
Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα Προγραμματισμός II 1 lalis@inf.uth.gr Χρήση λογισμικού που ήδη υπάρχει Τα πολύπλοκα συστήματα αναπτύσσονται σταδιακά, «χτίζοντας» πάνω σε υπάρχουσα λειτουργικότητα
Διαβάστε περισσότεραΔημιουργία & Τερματισμός Διεργασιών. Προγραμματισμός II 1
Δημιουργία & Τερματισμός Διεργασιών Προγραμματισμός II 1 lalis@inf.uth.gr Δημιουργία νέας διεργασίας pid_t fork() Η fork δεν έχει παραμέτρους Δημιουργεί μια νέα διεργασία που είναι ένα αντίγραφο της διεργασίας
Διαβάστε περισσότεραΜεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 10 Αρχεία στην C Επανάληψη στην Αποθήκευση (Storage)
Διαβάστε περισσότεραHY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο
HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2016-2017 Δέυτερη Προγραμματιστική Εργασία Προθεσμία παράδοσης: 19/6/2017 1. Γενική Περιγραφή Στην δεύτερη προγραμματιστική εργασία καλείστε να υλοποιήσετε
Διαβάστε περισσότεραΑνταλλαγι Μθνυμάτων. Κϊςτασ Διαμαντάρασ Τμιμα Πλθροφορικισ ΤΕΙ Θεςςαλονίκθσ
Ανταλλαγι Μθνυμάτων Κϊςτασ Διαμαντάρασ Τμιμα Πλθροφορικισ ΤΕΙ Θεςςαλονίκθσ Στζλνω και λαμβάνω μθνφματα Θέματα: Προσ ποιόν ςτζλνονται τα δεδομζνα; Τι ςτζλνεται; Πϊσ ο δζκτθσ αναγνωρίηει τα δεδομζνα; 2 Πζραςμα
Διαβάστε περισσότεραΠ. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7
Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Εισαγωγικά
Διαβάστε περισσότεραείκτες και Πίνακες (2)
είκτες και Πίνακες (2) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πολυδιάστατοι πίνακες Πέρασµα παραµέτρων σε προγράµµατα C ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1-1 Πίνακες εικτών Πίνακας δεικτών είναι
Διαβάστε περισσότεραΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διεργασίες και Νήματα Εργαστηριακές Ασκήσεις
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διεργασίες και Νήματα Εργαστηριακές Ασκήσεις Υλικό από: Modern Operating Systems Laboratory Exercises, Shrivakan Mishra Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο
Διαβάστε περισσότεραΕΚΔΟΣΗ 1.0 ΟΚΤΩΒΡΙΟΣ, 2017 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΡΟΛΟΓΙΑ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ
ΕΚΔΟΣΗ 1.0 ΟΚΤΩΒΡΙΟΣ, 2017 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ CONTENTS ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ... 2 Κατανεμημένα Ρολόγια... 2 Εισαγωγή... 2 Φυσικά Ρολόγια...
Διαβάστε περισσότεραΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο Δεύτερη Προγραμματιστική Εργασία
ΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2015-2016 Δεύτερη Προγραμματιστική Εργασία Γενική περιγραφή Στη δεύτερη προγραμματιστική εργασία καλείστε να υλοποιήσετε ένα διομότιμο σύστημα (Peer-to-
Διαβάστε περισσότεραΠαράλληλη Επεξεργασία
Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στα Πολυεπεξεργαστικά Συστήματα Διερασίες και Νήματα σε Πολυεπεξεργαστικά Συστήματα Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed
Διαβάστε περισσότεραΕκφωνήσεις ασκήσεων εργαστηρίου 1
Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Σχολή Τεχνολογικών Εφαρμογών Ακαδημαϊκό έτος 2016-2017 ΤΕΙ Ηπείρου - Άρτα Κατανεμημένα και Παράλληλα Συστήματα (εργαστήριο) Γκόγκος Χρήστος Εκφωνήσεις ασκήσεων εργαστηρίου
Διαβάστε περισσότεραΠρογραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 9: Συναρτήσεις Ορισμός συναρτήσεων () { /* δήλωση μεταβλητών */ /* εντολές ελέγχου/επεξεργασίας */ o Μια συνάρτηση ορίζεται δίνοντας
Διαβάστε περισσότεραΔιάλεξη 18η: Διαχείρηση Αρχείων
Διάλεξη 18η: Διαχείρηση Αρχείων Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Πρατικάκης (CSD) Αρχεία CS100, 2015-2016 1 / 24 Η βιβλιοθήκη Εισόδου/Εξόδου Στο stdioh
Διαβάστε περισσότεραΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact:
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: nifantop@unipi.gr Περιεχόμενα ενότητας Διεργασίες Κλήσεις δημιουργίας και τερματισμού διεργασιών Επικοινωνία διεργασιών μέσω
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 4: Δείκτες και Πίνακες Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Πίνακες Δεικτών, Παραδείγματα, Πολυδιάστατοι πίνακες Πέρασμα παραμέτρων σε προγράμματα C Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες:
Διαβάστε περισσότεραΔημιουργία & Τερματισμός Διεργασιών. Προγραμματισμός II 1
Δημιουργία & Τερματισμός Διεργασιών Προγραμματισμός II 1 lalis@inf.uth.gr Δημιουργία νέας διεργασίας pid_t fork() Η fork δεν έχει παραμέτρους Δημιουργεί μια νέα διεργασία που είναι ένα αντίγραφο της διεργασίας
Διαβάστε περισσότεραΕργαστήριο ΔΙΕΡΓΑΣΙΕΣ - ΔΙΑΧΕΙΡΙΣΗ
Εργαστήριο ΔΙΕΡΓΑΣΙΕΣ - ΔΙΑΧΕΙΡΙΣΗ Εισαγωγή Σκοπός τόσο αυτού του εργαστηρίου, όσο και των εργαστηρίων που ακολουθούν, είναι να γνωρίσουμε τους τρόπους δημιουργίας και διαχείρισης των διεργασιών (processes)
Διαβάστε περισσότερα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,
Διαβάστε περισσότεραΚατανεμημένος και Παράλληλος Προγραμματισμός
Κατανεμημένος και Παράλληλος Προγραμματισμός Ηλίας Κ. Σάββας Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Θεσσαλίας Email: savvas@teilar.gr Παράλληλος προγραμματισμός - OpenMP Παράλληλες αρχιτεκτονικές
Διαβάστε περισσότεραΔιάλεξη 12: Διάχυση Μηνυμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι
Διάλεξη 12: Διάχυση Μηνυμάτων ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Ορισμός Προσομοίωσης Τι θα δούμε σήμερα Προσομοίωση Υπηρεσίας Διάχυσης Μηνυμάτων Ιδιότητες Διάταξης Μηνυμάτων ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι
Διαβάστε περισσότεραΚατανεμημένος και. Ηλίας Κ. Σάββας Αναπληρωτής Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Θεσσαλίας
Κατανεμημένος και Παράλληλος Προγραμματισμός Ηλίας Κ. Σάββας Αναπληρωτής Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Θεσσαλίας Email: savvas@teilar.gr Παράλληλος προγραμματισμός - OpenMP Παράλληλες
Διαβάστε περισσότεραΠερίληψη Φροντιστηρίου. Κατανεμημένα Συστήματα Ι. Το περιβάλλον DAP - Χαρακτηριστικά. Το περιβάλλον DAP Τι είναι.
Κατανεμημένα Συστήματα Ι 1 Περίληψη Φροντιστηρίου 2 Το Περιβάλλον DAP Φροντιστήριο Ένα παράδειγμα υλοποίησης στο DAP Δευτέρα 14 Νοεμβρίου 2005 Γιάννης Κρομμύδας Το περιβάλλον DAP Τι είναι Το περιβάλλον
Διαβάστε περισσότεραΕθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών. Οδηγίες εργαστηρίου. Συστήματα Παράλληλης Επεξεργασίας 9 ο Εξάμηνο
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Οδηγίες εργαστηρίου 9 ο Εξάμηνο Λογαριασμοί Έχετε 2 accounts (και 2 διαφορετικά home directories!)
Διαβάστε περισσότεραΔομές Ανακυκλώσεων. Εντολές ελέγχου - 1
Δομές Ανακυκλώσεων Σε όλες τις γλώσσες προγραμματισμού, οι εντολές ανακυκλώσεων επιτρέπουν να επαναλαμβάνουμε ένα σύνολο εντολών, περισσότερες από μια φορές και μέχρι να επιτευχθεί μια ορισμένη συνθήκη
Διαβάστε περισσότεραΗ γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C Οι συναρτήσεις τι είναι Πρόκειται για ανεξάρτητα τμήματα ενός προγράμματος (υποπρογράμματα) που επιτελούν συγκεκριμένες εργασίες. Καλούνται από το κυρίως
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα
Διαβάστε περισσότεραΕισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ
Εισαγωγή στον Προγραµµατισµό Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Συναρτήσεις 19.11.16 Β. Ντουφεξή 2 Προβλήματα: Οσο μεγαλώνουν τα προγράμματα, γίνονται πιο πολύπλοκα.
Διαβάστε περισσότεραΕισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 3-4: Προγραμματισμός MIPS. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής
Γιώργος Δημητρίου Μάθημα 3-4: Προγραμματισμός MIPS Προγραμματισμός σε Συμβολική Γλώσσα Η συμβολική γλώσσα: δεν έχει τύπους, δεν έχει δηλώσεις μεταβλητών, δεν έχει δομές ελέγχου, δεν έχει εντολές βρόχων,
Διαβάστε περισσότερα(Κεφάλαιο 2.7 και 12) Αρχεία στην C. ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
(Κεφάλαιο 2.7 και 12) Αρχεία στην C ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 14-1 Επανάληψη στην Αποθήκευση (Storage) Για να αποθηκεύσουµε δεδοµένα από ένα πρόγραµµα, πρέπει να χρησιµοποιήσουµε την ευτερεύουσα
Διαβάστε περισσότεραΚατανεμημένα και Παράλληλα Συστήματα (εργαστήριο) Παραδείγματα με openmp
Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Σχολή Τεχνολογικών Εφαρμογών Ακαδημαϊκό έτος 2016-2017 ΤΕΙ Ηπείρου - Άρτα Κατανεμημένα και Παράλληλα Συστήματα (εργαστήριο) Παραδείγματα με openmp Γκόγκος Χρήστος Παράδειγμα
Διαβάστε περισσότερα2. Στοιχεία Αρχιτεκτονικής Παράλληλων Υπολογιστών... 45
ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος... 9 1. Εισαγωγή... 13 1.1 Οι Μεγάλες Σύγχρονες Επιστημονικές Προκλήσεις... 13 1.2 Εξέλιξη της Παράλληλης Επεξεργασίας Δεδομένων... 14 1.3 Οι Έννοιες της Σωλήνωσης, του Παραλληλισμού
Διαβάστε περισσότεραΑ' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Ασκήσεις Επανάληψης
Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ασκήσεις Επανάληψης Άσκηση 1 Το παρακάτω πρόγραμμα περιέχει μια δομή επανάληψης τύπου for. Να ξαναγραφεί ώστε να έχει ακριβώς την ίδια λειτουργία, χρησιμοποιώντας
Διαβάστε περισσότεραΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής
ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής Στο εργαστήριο αυτό θα δούμε πώς ορίζονται και πώς χρησιμοποιούνται οι συμβολοσειρές στην C. Επίσης, θα μελετήσουμε κάποιες από τις συναρτήσεις
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Βιβλιογραφία "C Προγραμματισμός", Deitel & Deitel, Πέμπτη Έκδοση, Εκδόσεις
Διαβάστε περισσότεραΑ. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Β Περιόδου 2015 (8/9/2015) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................
Διαβάστε περισσότεραΕπεξεργασία Αρχείων Κειµένου
Επεξεργασία Αρχείων Κειµένου Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Αρχεία Κειµένου Γενικά Συναρτήσεις Επεξεργασίας Αρχείων Κειµένου ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1 Αρχεία Γενικά
Διαβάστε περισσότερα