Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων
|
|
- Δελφίνια Χριστόπουλος
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο
2 Σύνοψη παρουσίασης Παράλληλες υπολογιστικές πλατφόρμες PRAM: Η ιδανική παράλληλη πλατφόρμα Η ταξινόμηση του Flynn Συστήματα κοινής μνήμης Συστήματα κατανεμημένης μνήμης Ανάλυση παράλληλων προγραμμάτων Μετρικές αξιολόγησης επίδοσης Ο νόμος του Amdahl Μοντελοποίηση παράλληλων προγραμμάτων Σχεδίαση παράλληλων προγραμμάτων Κατανομή υπολογισμών σε υπολογιστικές εργασίες (tasks) Διαμοιρασμός των δεδομένων Ορισμός ορθής σειράς εκτέλεσης (χρονοδρομολόγηση) Οργάνωση πρόσβασης στα δεδομένα (συγχρονισμός / επικοινωνία) Ανάθεση εργασιών (απεικόνιση) σε οντότητες εκτέλεσης (processes, threads) 2
3 Σύνοψη παρουσίασης Παράλληλα προγραμματιστικά μοντέλα Κοινού χώρου διευθύνσεων Ανταλλαγής μηνυμάτων Παράλληλες προγραμματιστικές δομές SPMD fork / join task graphs parallel for Γλώσσες και εργαλεία POSIX threads, MPI, OpenMP, Cilk, Cuda, Γλώσσες PGAS Αλληλεπίδραση με το υλικό Συστήματα κοινής μνήμης Συστήματα κατανεμημένης μνήμης και υβριδικά 3
4 Σχεδιασμός παράλληλων προγραμμάτων Στόχος: Η μετατροπή ενός σειριακού αλγορίθμου σε παράλληλο Κατανομή υπολογισμών σε υπολογιστικές εργασίες (tasks) Ορισμός ορθής σειράς εκτέλεσης (χρονοδρομολόγηση) Διαμοιρασμός των δεδομένων - Οργάνωση πρόσβασης στα δεδομένα (συγχρονισμός / επικοινωνία) Ανάθεση εργασιών (απεικόνιση) σε οντότητες εκτέλεσης (processes, threads) Δεν υπάρχει αυστηρά ορισμένη μεθοδολογία για το σχεδιασμό και την υλοποίηση παράλληλων προγραμμάτων It s more art than science Ιδανικά θα θέλαμε ο σχεδιασμός και η υλοποίηση να λαμβάνουν χώρα ανεξάρτητα. Στην πράξη υπάρχει αλληλεπίδραση, π.χ. τον σχεδιασμό επηρεάζουν: Η αρχιτεκτονική της πλατφόρμας εκτέλεσης Τα υποστηριζόμενα προγραμματιστικά μοντέλα Οι δυνατότητες του περιβάλλοντος υλοποίησης 4
5 Σχεδιασμός παράλληλων προγραμμάτων Μετρικές αξιολόγησης: Επίδοση του παραγόμενου κώδικα Επιτάχυνση Αποδοτικότητα Κλιμακωσιμότητα Παραγωγικότητα (code productivity) Χαμηλός χρόνος υλοποίησης Μεταφερσιμότητα (portability) Ευκολία στη συντήρηση (maintainability) Κατανάλωση ενέργειας / ισχύος 5
6 Στάδια σχεδιασμού Στάδιο 1: Κατανομή υπολογισμών Στάδιο 2: Ορισμός ορθής σειράς εκτέλεσης Στάδιο 3: Οργάνωση πρόσβασης στα δεδομένα Στάδιο 4: Ανάθεση εργασιών σε οντότητες εκτέλεσης 6
7 Στάδιο 1: Κατανομή υπολογισμών Στόχος: κατανομή σε υπολογιστικές εργασίες (tasks) Σε τι να εστιάσω πρώτα; Στους υπολογισμούς ή τα δεδομένα; 2 βασικές προσεγγίσεις: task centric: πρώτα μοιράζονται οι υπολογισμοί και στη συνέχεια τα δεδομένα data centric: πρώτα μοιράζονται τα δεδομένα και στη συνέχεια οι υπολογισμοί Και στις 2 περιπτώσεις θα προκύψουν εργασίες (tasks) Παράδειγμα: Πολλαπλασιασμός πίνακα με διάνυσμα ( y = A * x ) task centric: π.χ. 1 task = υπολογισμός της τιμής του y i : Ποια δεδομένα χρειάζεται αυτό το task; data centric: π.χ. 1 task = 1 γραμμή του πίνακα Α Ποιοι υπολογισμοί εμπλέκουν τη συγκεκριμένη γραμμή; Ποια άλλα δεδομένα χρειάζεται το συγκεκριμένο task; Ειδική περίπτωση της task centric προσέγγισης είναι η function centric Η κατανομή γίνεται με βάση τις συναρτήσεις (διαφορετικές λειτουργίες/στάδια) Είναι κατάλληλη για εφαρμογές που αποτελούνται από διαδοχικά στάδια υπολογισμών που εφαρμόζονται σε ροές δεδομένων 7
8 Στάδιο 1: Κατανομή υπολογισμών Επιλογή στρατηγικής ανάλογα με τον αλγόριθμο Η task centric προσέγγιση είναι η πιο γενική Οι task centric και data centric μπορεί να οδηγήσουν σε ακριβώς την ίδια κατανομή Απαιτήσεις: Επίδοση Μεγιστοποίηση παραλληλίας Ελαχιστοποίηση επιβαρύνσεων λόγω διαχείρισης tasks, συγχρονισμού, επικοινωνίας Ισοκατανομή φορτίου Απλότητα Μικρός χρόνος υλοποίησης Ευκολία στην επέκταση και τη συντήρηση Ευελιξία (ανεξαρτησία από απαιτήσεις υλοποίησης) 8
9 Αναλογία: παρασκευή πίτσας Μάγειρας Processing element Υλικά (ζύμη, σάλτσα, τυρί, ) data Στόχος: παραλληλοποίηση της παρασκευής Ν ταψιών πίτσας Υπόθεση: Συνεργάζονται >1 μάγειρες task centric προσέγγιση: «μοιράζω τη δουλειά» 1 task = παρασκευή 1 ταψιού πίτσας data centric προσέγγιση: «μοιράζω τα δεδομένα (υλικά)» η κατανομή της δουλειάς προκύπτει σαν φυσικό επακόλουθο του διαμοιρασμού των δεδομένων μοιράζω τα υλικά σε τμήματα (π.χ. σε Κ μέρη, ή ανά μάγειρα, ή ανά πίτσα) function centric προσέγγιση: διαχωρίζω τις διαφορετικές δουλειές παρασκευή ζύμης, παρασκευή σάλτσας, προετοιμασία λοιπών υλικών, άπλωμα ζύμης, τοποθέτηση σάλτσας, 9
10 Rule of thumb Όταν το πρόβλημα είναι embarrassingly parallel (π.χ. συμπίεση Ν αρχείων, επίλυση Ν ανεξάρτητων συστημάτων) η data centric προσέγγιση είναι προφανής. Οδηγεί σε data parallel υλοποιήσεις Αλγόριθμοι σε κανονικές δομές δεδομένων (π.χ. regular computational grids, αλγεβρικοί πίνακες) συχνά ευνοούν τη data centric κατανομή: Πολλαπλασιασμός πινάκων (γενικά βασικές αλγεβρικές ρουτίνες) Επίλυση γραμμικών συστημάτων Stencil computations Όταν μπορεί να εφαρμοστεί, η data centric προσέγγιση οδηγεί σε κομψές λύσεις Δοκιμάζουμε πρώτα την data centric και αν δεν πετύχει, καταφεύγουμε στην task centric 10
11 Διαμοιρασμός κανονικών δομών 1-dimensional 2-dimensional + Απλή στην υλοποίηση - Περιοριστική (το task που προκύπτει εξαρτάται από το Ν του πίνακα) - Δυσκολότερη στην υλοποίηση + Πιο ευέλικτη (ο προγραμματιστής ελέγχει το μέγεθος του task) 11
12 Rule of thumb H task centric προσέγγιση αποτελεί λύση για πιο δυναμικούς αλγορίθμους σε ακανόνιστες δομές δεδομένων (irregular data structures) Αλγόριθμοι σε λίστες, δέντρα, γράφους, κλπ Αναδρομικοί αλγόριθμοι Event-based εφαρμογές Οδηγεί σε πιο λεπτομερή και ακριβέστερη αναπαράσταση του παραλληλισμού 12
13 Rule of thumb H function centric προσέγγιση μπορεί να υιοθετηθεί όταν υπάρχουν διακριτές φάσεις και «ροή δεδομένων» Υπάρχει κάποιου είδους υποστήριξη στο υλικό για κάθε φάση Η παραλληλοποίηση σε κάθε φάση με την data centric προσέγγιση δεν οδηγεί σε ικανοποιητική αξιοποίηση των πόρων (π.χ. δεν κλιμακώνει στο διαθέσιμο αριθμό πυρήνων λόγω συμφόρησης στο διάδρομο μνήμης) 13
14 Rule of thumb H function centric προσέγγιση μπορεί να υιοθετηθεί όταν υπάρχουν διακριτές φάσεις και «ροή δεδομένων» Υπάρχει κάποιου είδους υποστήριξη στο υλικό για κάθε φάση Η παραλληλοποίηση σε κάθε φάση με την data centric προσέγγιση δεν οδηγεί σε ικανοποιητική αξιοποίηση των πόρων (π.χ. δεν κλιμακώνει στο διαθέσιμο αριθμό πυρήνων λόγω συμφόρησης στο διάδρομο μνήμης) data centric: π.χ. 32 threads ανά φάση load image scale image filter image display image 14
15 Rule of thumb H function centric προσέγγιση μπορεί να υιοθετηθεί όταν υπάρχουν διακριτές φάσεις και «ροή δεδομένων» Υπάρχει κάποιου είδους υποστήριξη στο υλικό για κάθε φάση Η παραλληλοποίηση σε κάθε φάση με την data centric προσέγγιση δεν οδηγεί σε ικανοποιητική αξιοποίηση των πόρων (π.χ. δεν κλιμακώνει στο διαθέσιμο αριθμό πυρήνων λόγω συμφόρησης στο διάδρομο μνήμης) data centric: π.χ. 32 threads ανά φάση load image scale image filter image Αν κάθε φάση κλιμακώνει μέχρι τα 8 threads, έχουμε προφανή σπατάλη πόρων display image 15
16 Rule of thumb H function centric προσέγγιση μπορεί να υιοθετηθεί όταν υπάρχουν διακριτές φάσεις και «ροή δεδομένων» Υπάρχει κάποιου είδους υποστήριξη στο υλικό για κάθε φάση Η παραλληλοποίηση σε κάθε φάση με την data centric προσέγγιση δεν οδηγεί σε ικανοποιητική αξιοποίηση των πόρων (π.χ. δεν κλιμακώνει στο διαθέσιμο αριθμό πυρήνων λόγω συμφόρησης στο διάδρομο μνήμης) load image (#4) 8 threads scale image (#3) 8 threads filter image (#2) 8 threads display image (#1) 8 threads 16
17 Παράδειγμα: Εξίσωση θερμότητας Αλγόριθμος του Jacobi (2-διάστατο πλέγμα Χ * Υ) A[step+1][i][j] = 1/5 (A[step][i][j] + A[step][i-1][j] + A[step][i+1][j] + A[step][i][j-1] + A[step][i][j+1]) Data centric Μοιράζουμε τα δεδομένα ανά σημείο / γραμμή / στήλη / μπλοκ Κάθε task αναλαμβάνει να υπολογίσει την τιμή σε κάθε διαμοιρασμένο δεδομένο Task centric 1 task = υπολογισμός θερμότητας για κάθε σημείο του χωρίου 1 task = υπολογισμός θερμότητας για κάθε χρονικό βήμα 1 task = υπολογισμός θερμότητας για μία γραμμή / στήλη / block του δισδιάστατου πλέγματος για όλες τις χρονικές στιγμές 1 task = υπολογισμός θερμότητας για μία γραμμή / στήλη / block του δισδιάστατου πλέγματος για μία χρονική στιγμή 17
18 Στάδιο 2: Ορισμός ορθής σειράς εκτέλεσης Οι εργασίες που ορίστηκαν στο προηγούμενο στάδιο πρέπει να μπουν στη σωστή σειρά ώστε να εξασφαλίζεται η ίδια σημασιολογία με το σειριακό πρόγραμμα Το στάδιο αυτό συχνά αναφέρεται και ως χρονοδρομολόγηση = ανάθεση εργασιών σε χρονικές στιγμές Απαιτείται εντοπισμός των εξαρτήσεων ανάμεσα στις εργασίες και κατάστρωση του γράφου των εξαρτήσεων (task dependence graph) 18
19 Εξαρτήσεις Εξαρτήσεις δεδομένων υπάρχουν ήδη από το σειριακό πρόγραμμα Εξάρτηση υπάρχει όταν 2 εντολές αναφέρονται στα ίδια δεδομένα (θέση μνήμης) 4 είδη εξαρτήσεων Read-After-Write (RAW) ή true dependence Write-After-Read (WAR) ή anti dependence Write-After-Write (WAW) ή output dependence Read-After-Read (not really a dependence) Η παράλληλη εκτέλεση πρέπει να σεβαστεί τις εξαρτήσεις του προβλήματος Η κατανομή των tasks δημιουργεί κατά κανόνα εξαρτήσεις ανάμεσα στα tasks (π.χ. το task1 πρέπει να διαβάσει δεδομένα που παράγει το task2) Διατήρηση των εξαρτήσεων: σειριοποίηση μεταξύ tasks 19
20 Γράφος εξαρτήσεων (task dependence graph) Ή απλά task graph Κορυφές: tasks Label κορυφής: κόστος υπολογισμού του task Ακμές: εξαρτήσεις ανάμεσα στα tasks Βάρος ακμής: όγκος δεδομένων που πρέπει να μεταφερθούν (στην περίπτωση της επικοινωνίας) 20
21 Task graphs: βασικές ιδιότητες Τ 1 : Συνολική εργασία (work), ο χρόνος που απαιτείται για την εκτέλεση σε 1 επεξεργαστή T p : Χρόνος εκτέλεσης σε p επεξεργαστές Κρίσιμο μονοπάτι (critical path): Το μέγιστο μονοπάτι ανάμεσα στην πηγή και τον προορισμό του γράφου T : Χρόνος εκτέλεσης σε επεξεργαστές (span) και χρόνος εκτέλεσης του κρίσιμου μονοπατιού Ισχύει: T p T 1 / p T p T Μέγιστο speedup T 1 / T 21
22 Εξαρτήσεις στην εξίσωση θερμότητας 1 task = υπολογισμός θερμότητας για κάθε σημείο του χωρίου A[step+1][i][j] = 1/5 (A[step][i][j] + A[step][i-1][j] + A[step][i+1][j] + A[step][i][j-1] + A[step][i][j+1]) 22
23 Εξαρτήσεις στην εξίσωση θερμότητας 1 task = υπολογισμός θερμότητας για κάθε χρονικό βήμα Δεν υπάρχουν ταυτόχρονα tasks! A[step+1][i][j] = 1/5 (A[step][i][j] + A[step][i-1][j] + A[step][i+1][j] + A[step][i][j-1] + A[step][i][j+1]) 23
24 Εξαρτήσεις στην εξίσωση θερμότητας 1 task = υπολογισμός θερμότητας για μία γραμμή του δισδιάστατου πλέγματος για όλες τις χρονικές στιγμές Δεν υπάρχει έγκυρη παράλληλη εκτέλεση! A[step+1][i][j] = 1/5 (A[step][i][j] + A[step][i-1][j] + A[step][i+1][j] + A[step][i][j-1] + A[step][i][j+1]) 24
25 Εξαρτήσεις στην εξίσωση θερμότητας 1 task = υπολογισμός θερμότητας για μία γραμμή του δισδιάστατου πλέγματος για μία χρονική στιγμή A[step+1][i][j] = 1/5 (A[step][i][j] + A[step][i-1][j] + A[step][i+1][j] + A[step][i][j-1] + A[step][i][j+1]) 25
26 Παράδειγμα: Task graph για LU decomposition //LU decomposition kernel for(k = 0; k < N-1; k++) for(i = k+1; i < N; i++){ L[i] = A[i][k] / A[k][k]; for(j = k+1; j < N; j++) A[i][j] = A[i][j] - L[i] * A[k][j]; } Task centric προσέγγιση: 1 task = μία στοιχειώδης αλγεβρική πράξη Data centric προσέγγιση: μοιράζω όλα στοιχεία των πινάκων L και Α. 1 task = ό,τι χρειάζεται για να υπολογιστεί ένα στοιχείο. Σημείωση: Οι δύο προσεγγίσεις στο συγκεκριμένο τμήμα κώδικα είναι ισοδύναμες. Υπάρχει έκδοση του υπολογιστικού πυρήνα όπου αντί για L[i] = A[i][k] / A[k][k] υπολογίζεται A[i][k] = A[i][k] / A[k][k] (βλέπε συνέχεια). 26
27 Παράδειγμα: Task graph για LU decomposition //LU decomposition kernel for(k = 0; k < N-1; k++) for(i = k+1; i < N; i++){ L[i] = A[i][k] / A[k][k]; for(j = k+1; j < N; j++) A[i][j] = A[i][j] - L[i] * A[k][j]; } L A k = 0 27
28 Παράδειγμα: Task graph για LU decomposition //LU decomposition kernel for(k = 0; k < N-1; k++) for(i = k+1; i < N; i++){ L[i] = A[i][k] / A[k][k]; for(j = k+1; j < N; j++) A[i][j] = A[i][j] - L[i] * A[k][j]; } L A k = 0 28
29 Παράδειγμα: Task graph για LU decomposition L k = 0 A 1,1 1,2 1,3 2,1 2,2 2,3 3,1 3,2 3,3 29
30 Παράδειγμα: Task graph για LU decomposition L k = 0 A 1,1 1,2 1,3 2,1 2,2 2,3 3,1 3,2 3,3 2 3 k = 1 2,2 2,3 3,2 3,3 30
31 Παράδειγμα: Task graph για LU decomposition L k = 0 A 1,1 1,2 1,3 2,1 2,2 2,3 3,1 3,2 3,3 2 3 k = 1 2,2 2,3 3,2 3,3 3 k = 2 3,3 31
32 Παράδειγμα: Task graph για LU decomposition L k = 0 A 1,1 1,2 1,3 2,1 2,2 2,3 3,1 3,2 3,3 2 3 k = 1 2,2 2,3 3,2 3,3 Κρίσιμο μονοπάτι Μέγιστο speedup = 20 /6 3 k = 2 3,3 32
33 Παράδειγμα: Task graph για LU decomposition //LU decomposition kernel for(k = 0; k < N-1; k++) for(i = k+1; i < N; i++){ A[i][k] = A[i][k] / A[k][k]; for(j = k+1; j < N; j++) A[i][j] = A[i][j] - A[i][k] * A[k][j]; } Data centric προσέγγιση: μοιράζω κατά γραμμές τον πίνακα Α 33
34 Παράδειγμα: Task graph για LU decomposition 1,0 2,0 3,0 A k = 0 1,1 1,2 1,3 2,1 2,2 2,3 3,1 3,2 3,3 2,1 3,1 k = 1 2,2 2,3 3,2 3,3 3,2 k = 2 3,3 34
35 Παράδειγμα: Task graph για LU decomposition 1,0 2,0 3,0 A k = 0 1,1 1,2 1,3 2,1 2,2 2,3 3,1 3,2 3,3 2,1 3,1 k = 1 2,2 2,3 3,2 3,3 3,2 k = 2 3,3 35
36 Παράδειγμα: Task graph για LU decomposition 1,0 2,0 3,0 A k = 0 1,1 1,2 1,3 2,1 2,2 2,3 3,1 3,2 3,3 2,1 3,1 k = 1 2,2 2,3 3,2 3,3 3,2 k = 2 3,3 36
37 Παράδειγμα: Task graph για LU decomposition k = 0 k = 1 k = 2 37
38 Χαρακτηρισμός δεδομένων Τα δεδομένα του προβλήματος μπορούν να είναι: Μοιραζόμενα (shared data): Στάδιο 3: Οργάνωση πρόσβασης στα δεδομένα Μπορεί να υποστηριχθεί μόνο από προγραμματιστικά μοντέλα κοινού χώρου διευθύνσεων Αποτελεί ένα πολύ βολικό τρόπο «κατανομής» Χρειάζεται ιδιαίτερη προσοχή για τον εντοπισμό race conditions Κατανεμημένα (distributed data): Τα δεδομένα κατανέμονται ανάμεσα στα tasks Αποτελεί τη βασική προσέγγιση στα προγραμματιστικά μοντέλα ανταλλαγής μηνυμάτων Επιβάλλει επιπλέον προγραμματιστικό κόστος Αντιγραμμένα (replicated data): Για αντιγραφή μικρών read-only δομών δεδομένων Για αντιγραφή υπολογισμών 38
39 Στάδιο 3: Οργάνωση πρόσβασης στα δεδομένα Η κατανομή των υπολογισμών και των δεδομένων καθώς και ο χαρακτηρισμός τους δημιουργεί ανάγκες για επικοινωνία και συγχρονισμό Επικοινωνία: Κατανεμημένα δεδομένα 1 task χρειάζεται να διαβάσει δεδομένα που κατέχει ένα άλλο task Είτε εξαιτίας του γράφου εξαρτήσεων (παράχθηκαν κατά την εκτέλεση σε άλλο task) Είτε επειδή βρίσκονται αποθηκευμένα σε άλλο task (π.χ. από την αρχική κατανομή) Σημείο-προς-σημείο και συλλογική Καθορισμός ποια δεδομένα πρέπει να αποσταλούν, σε ποιες εργασίες και πότε 39
40 Στάδιο 3: Οργάνωση πρόσβασης στα δεδομένα Η κατανομή των υπολογισμών και των δεδομένων καθώς και ο χαρακτηρισμός τους δημιουργεί ανάγκες για επικοινωνία και συγχρονισμό Συγχρονισμός: Απαιτείται είτε λόγω του γράφου εξαρτήσεων (σειριοποίηση) είτε λόγω καταστάσεων συναγωνισμού (race conditions) Σειριοποίηση: Barriers, condition variables, semaphores Εντοπισμός καταστάσεων συναγωνισμού και εισαγωγή κατάλληλου σχήματος ελέγχου ταυτόχρονης πρόσβασης (concurrency control) Αμοιβαίος αποκλεισμός: Critical section, Locks, readers-writers Lock-free προσεγγίσεις Transactional memory 40
41 Στάδιο 4: Ανάθεση εργασιών σε οντότητες εκτέλεσης Το στάδιο αυτό αναλαμβάνει να αναθέσει εργασίες (tasks) σε οντότητες εκτέλεσης (process, tasks, κλπ) O τρόπος με τον οποίο ανατίθενται τα tasks σε οντότητες εκτέλεσης μπορεί να επηρεάσει σημαντικά την εκτέλεση: Παραλληλισμός και ισοκατανομή φορτίου Τοπικότητα δεδομένων Κόστος συγχρονισμού και επικοινωνίας 41
42 Στάδιο 4: Ανάθεση εργασιών σε οντότητες εκτέλεσης 1,0 2,0 3,0 k = 0 1,1 1,2 1,3 2,1 2,2 2,3 3,1 3,2 3,3 2,1 3,1 k = 1 2,2 2,3 3,2 3,3 3,2 k = 2 3,3 42
43 Στάδιο 4: Ανάθεση εργασιών σε οντότητες εκτέλεσης 1,0 2,0 3,0 k = 0 1,1 1,2 1,3 2,1 2,2 2,3 3,1 3,2 3,3 Τοπικότητα / μείωση επικοινωνίας 2,1 3,1 2,2 2,3 3,2 3,3 k = 1 3,2 k = 2 3,3 43
44 Στάδιο 4: Ανάθεση εργασιών σε οντότητες εκτέλεσης?? 1,0 2,0 3,0 k = 0 1,1 1,2 1,3 2,1 2,2 2,3 3,1 3,2 3,3 Τοπικότητα / μείωση επικοινωνίας 2,1 3,1 2,2 2,3 3,2 3,3 k = 1 3,2 k = 2 3,3 44
45 Στάδιο 4: Ανάθεση εργασιών σε οντότητες εκτέλεσης 1,0 2,0 3,0 k = 0 1,1 1,2 1,3 2,1 2,2 2,3 3,1 3,2 3,3 Τοπικότητα / μείωση επικοινωνίας 2,1 3,1 2,2 2,3 3,2 3,3 k = 1 3,2 k = 2 3,3 45
46 Στάδιο 4: Ανάθεση εργασιών σε οντότητες εκτέλεσης 1,0 2,0 3,0 k = 0 1,1 1,2 1,3 2,1 2,2 2,3 3,1 3,2 3,3 Τοπικότητα / μείωση επικοινωνίας 2,1 3,1 2,2 2,3 3,2 3,3 k = 1 3,2 k = 2 3,3 46
47 Στατική vs. Δυναμική ανάθεση εργασιών Στατική απεικόνιση: Διαμοιρασμός των tasks σε threads πριν την έναρξη της εκτέλεσης Καλή πρακτική: Αν η εφαρμογή το επιτρέπει, συνηθίζουμε να έχουμε 1 task / thread (προσαρμόζοντας κατάλληλα το σχεδιασμό μας και στο Στάδιο 1) Κατάλληλη στρατηγική για εφαρμογές με: ομοιόμορφη και γνωστή εξαρχής κατανομή φορτίου (π.χ. regular task graph) ανομοιόμορφη αλλά προβλέψιμη κατανομή φορτίου Πλεονεκτήματα : Απλή στην υλοποίηση Καλή επίδοση για «κανονικές εφαρμογές» Μηδενικό overhead Μειονεκτήματα: Κακή επίδοση για δυναμικές και ακανόνιστες εφαρμογές 47
48 Στατική vs. Δυναμική απεικόνιση tasks Δυναμική απεικόνιση: Διαμοιρασμός των tasks σε threads κατά την εκτέλεση Κατάλληλη στρατηγική για εφαρμογές με: Ακανόνιστο γράφο εργασιών μη προβλέψιμο φορτίο δυναμικά δημιουργούμενα tasks Πλεονεκτήματα: Εξισορρόπηση φορτίου σε δυναμικές και ακανόνιστες εφαρμογές Μειονεκτήματα: Δύσκολη στην υλοποίηση (συνήθως το αναλαμβάνει το run-time σύστημα) Μπορεί να δημιουργήσει bottleneck σε περίπτωση υλοποίησης με ένα κεντρικό scheduling thread (απαιτούνται κατανεμημένοι αλγόριθμοι) 48
49 data centric, στατική απεικόνιση 1-dim 2-dim (block) sequential cyclic sequential cyclic 49
50 Παράδειγμα: Επιλογή απεικόνισης για LU και stencil //LU decomposition kernel for(k = 0; k < N-1; k++) for(i = k+1; i < N; i++){ L[i] = A[i][k] / A[k][k]; for(j = k+1; j < N; j++) A[i][j]=A[i][j]-L[i]*A[k][j]; } //stencil for (t = 1; t < T; t++){ for (i = 1; i < X; i++) for (j = 1; j < Y; j++) A[t][i][j] = 0.2*(A[t-1][i][j] + A[t-1][i-1][j] + A[t-1][i+1][j] + A[t-1][i][j-1] + A[t-1][i][j]); } 50
51 Σχετικά ζητήματα απεικόνισης (δρομολόγησης) Δρομολόγηση εργασιών σε ένα υπερυπολογιστικό σύστημα N κόμβοι, c πυρήνες ανά κόμβο Κ jobs, κάθε job i ζητάει Ν i κόμβους και c i πύρήνες Στατικές προσεγγίσεις Δρομολόγηση παράλληλων εφαρμογών σε επίπεδο λειτουργικού Πολυπύρηνο σύστημα Κ εφαρμογές με διαφορετικός αριθμό από threads η κάθε μία Οι τρέχουσες προσεγγίσεις δεν είναι ικανοποιητικές Δρομολόγηση των tasks μίας παράλληλης εφαρμογής σε ένα πολυπύρηνο σύστημα Επαναλήψεις ενός παράλληλου loop Tasks μίας παράλληλης εφαρμογής 51
52 Σύνοψη σχεδιασμού παράλληλων προγραμμάτων Δεν υπάρχει ξεκάθαρη μεθοδολογία παραλληλοποίησης προγραμμάτων Δύο σημαντικά βήματα (συχνά όχι σειριακά): Σχεδιασμός (σκέψη) Στάδιο 1: Κατανομή υπολογισμών και διαμοιρασμός δεδομένων Στάδιο 2: Ορισμός ορθής σειράς εκτέλεσης Στάδιο 3: Οργάνωση πρόσβασης στα δεδομένα Στάδιο 4: Ανάθεση εργασιών σε οντότητες εκτέλεσης Στη συνέχεια: Υλοποίηση (ομιλία) Έκφραση παραλληλίας Επιλογή προγραμματιστικού μοντέλου και εργαλείων 52
Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο
Διαβάστε περισσότεραΠαράλληλος προγραμματισμός: Σχεδίαση παράλληλων προγραμμάτων
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση παράλληλων προγραμμάτων 9 ο Εξάμηνο Σχεδιασμός παράλληλων
Διαβάστε περισσότεραΠαράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο
Διαβάστε περισσότεραΠαράλληλος προγραμματισμός: Σχεδίαση παράλληλων προγραμμάτων
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση παράλληλων προγραμμάτων 9 ο Εξάμηνο Σύνοψη παρουσίασης
Διαβάστε περισσότεραΠαράλληλος προγραμματισμός: Σχεδίαση παράλληλων προγραμμάτων
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση παράλληλων προγραμμάτων 9 ο Εξάμηνο Σύνοψη παρουσίασης
Διαβάστε περισσότεραΠαράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο
Διαβάστε περισσότεραΠαράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο
Διαβάστε περισσότεραΠαράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο
Διαβάστε περισσότεραΣυστήµατα Παράλληλης Επεξεργασίας. Παράλληλος προγραµµατισµός: Σχεδιασµός παράλληλων προγραµµάτων
Παράλληλος προγραµµατισµός: Σχεδιασµός παράλληλων προγραµµάτων Αρχιτεκτονικές Αξιολόγηση επίδοσης Σχεδιασµός παράλληλων προγραµµάτων task centric data centric function centric Σύνοψη παρουσίασης ιαµοιρασµός
Διαβάστε περισσότεραΠαράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο
Διαβάστε περισσότεραΠαράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο
Διαβάστε περισσότεραΠαράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο
Διαβάστε περισσότεραΣύνοψη παρουσίασης. Παράλληλες υπολογιστικές πλατφόρμες. Ανάλυση παράλληλων προγραμμάτων. Σχεδίαση παράλληλων προγραμμάτων
Σύνοψη παρουσίασης Παράλληλες υπολογιστικές πλατφόρμες PRAM: Η ιδανική παράλληλη πλατφόρμα Η ταξινόμηση του Flynn Συστήματα κοινής μνήμης Συστήματα κατανεμημένης μνήμης Ανάλυση παράλληλων προγραμμάτων
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Διπλωματικές
Διαβάστε περισσότεραΠαράλληλος προγραμματισμός: παράλληλες λ υπολογιστικές πλατφόρμες και ανάλυση προγραμμάτων
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: παράλληλες λ υπολογιστικές πλατφόρμες και ανάλυση προγραμμάτων
Διαβάστε περισσότεραΠαράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο
Διαβάστε περισσότεραΣυστήµατα Παράλληλης Επεξεργασίας. Παράλληλοςπρογραµµατισµός: Υλοποίηση παράλληλων προγραµµάτων
Παράλληλοςπρογραµµατισµός: Υλοποίηση παράλληλων προγραµµάτων Σύνοψη παρουσίασης «Μιλώντας»παράλληλα SPMD Master / Worker parallel for Fork / Join Υποστηρικτικές δοµές δεδοµένων Μοιραζόµενα δεδοµένα Μοιραζόµενες
Διαβάστε περισσότερα2. Στοιχεία Αρχιτεκτονικής Παράλληλων Υπολογιστών... 45
ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος... 9 1. Εισαγωγή... 13 1.1 Οι Μεγάλες Σύγχρονες Επιστημονικές Προκλήσεις... 13 1.2 Εξέλιξη της Παράλληλης Επεξεργασίας Δεδομένων... 14 1.3 Οι Έννοιες της Σωλήνωσης, του Παραλληλισμού
Διαβάστε περισσότεραΠαράλληλος προγραμματισμός: Υλοποίηση παράλληλων προγραμμάτων
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο Σύνοψη παρουσίασης
Διαβάστε περισσότεραΠαρουσίαση 2 ης Άσκησης:
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παρουσίαση 2 ης Άσκησης: Ανάπτυξη παράλληλου κώδικα και μελέτη της επίδοσης του αλγορίθμου
Διαβάστε περισσότεραΠαρουσίαση 2 ης Άσκησης:
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παρουσίαση 2 ης Άσκησης: Ανάπτυξη παράλληλου κώδικα και μελέτη επίδοσης του αλγόριθμου
Διαβάστε περισσότεραΗ πολυνηματική γλώσσα προγραμματισμού Cilk
Η πολυνηματική γλώσσα προγραμματισμού Cilk Β Καρακάσης Ερευνητικά Θέματα Υλοποίησης Γλωσσών Προγραμματισμού Μεταπτυχιακό Μάθημα (688), ΣΗΜΜΥ Νοέμβριος 2009 Β Καρακάσης (CSLab, NTUA) ΣΗΜΜΥ, Μετ/κό 688 9/2009
Διαβάστε περισσότεραΜετρικές & Επιδόσεις. Κεφάλαιο V
Μετρικές & Επιδόσεις Κεφάλαιο V Χρόνος εκτέλεσης & επιτάχυνση Σειριακός χρόνος εκτέλεσης: Τ (για τον καλύτερο σειριακό αλγόριθμο) Παράλληλος χρόνος εκτέλεσης: (με επεξεργαστές) Επιτάχυνση (speedup): S
Διαβάστε περισσότερα13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1
13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1 ΓΛΩΣΣΑΡΙ Αµοιβαίος αποκλεισµός (mutual exclusion) Στο µοντέλο κοινού χώρου διευθύνσεων, ο αµοιβαίος αποκλεισµός είναι ο περιορισµός του αριθµού των διεργασιών
Διαβάστε περισσότεραΠαρουσίαση 1 ης Άσκησης:
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παρουσίαση 1 ης Άσκησης: Ανάπτυξη παράλληλου κώδικα σε πολυπύρηνες αρχιτεκτονικές κοινής
Διαβάστε περισσότεραΔιεργασίες και Νήματα (2/2)
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Διεργασίες και Νήματα (2/2) Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2016-2017 Νήματα
Διαβάστε περισσότεραΠαρουσίαση 3ης Άσκησης
Παρουσίαση 3ης Άσκησης Παράλληλος προγραμματισμός για αρχιτεκτονικές κατανεμημένης μνήμης με MPI Συστήματα Παράλληλης Επεξεργασίας 9ο Εξάμηνο, ΣΗΜΜΥ Εργ. Υπολογιστικών Συστημάτων Σχολή ΗΜΜΥ, Ε.Μ.Π. Νοέμβριος
Διαβάστε περισσότεραΣΥΣΤΗΜΑΤΑ ΠΑΡΑΛΛΗΛΗΣ ΕΠΕΞΕΡΓΑΣΙΑΣ 9o εξάμηνο ΗΜΜΥ, ακαδημαϊκό έτος
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΞΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr ΣΥΣΤΗΜΑΤΑ
Διαβάστε περισσότεραΕφαρµογές µε ανάγκες για υψηλές επιδόσεις Αξιολόγηση επίδοσης Παραλληλοποίηση εφαρµογών
Parallelizing applications for the GRID Γιώργος Γκούµας goumas@cslab.ece.ntua.gr Σύνοψη Παρουσίασηςασης Εφαρµογές µε ανάγκες για υψηλές επιδόσεις Αξιολόγηση επίδοσης Παραλληλοποίηση εφαρµογών Γενικές αρχές
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Παραλληλισμός Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Architecture and Engineering, K. Asanovic,
Διαβάστε περισσότεραΠαράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 4 η : Παράλληλος Προγραμματισμός. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής
Γιώργος Δημητρίου Ενότητα 4 η : Παράλληλος Προγραμματισμός Παράλληλος Προγραμματισμός Ο παράλληλος προγραμματισμός με βάση την αφαιρετικότητα: Ελάχιστη έως καμία γνώση της αρχιτεκτονικής Επεκτάσεις παράλληλου
Διαβάστε περισσότεραΕπιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί
Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί Χαρμανδάρης Βαγγέλης, Τμήμα Εφαρμοσμένων Μαθηματικών Πανεπιστήμιο Κρήτης, Εαρινό Εξάμηνο 2013/14 Κεφάλαιο 4: Παράλληλοι Αλγόριθμοι Ταξινόμηση
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Διπλωματικές
Διαβάστε περισσότερα10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.
1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.
Διαβάστε περισσότεραΠαράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός;
Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός; Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg Αρετή
Διαβάστε περισσότεραΕΠΙΣΤΗΜΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ: Μια ενδιαφέρουσα σταδιοδρομία
ΕΠΙΣΤΗΜΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ: Μια ενδιαφέρουσα σταδιοδρομία N. Μισυρλής (e-mail: nmis@di.uoa.gr) Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Parallel Scientific Computing Laboratory (PSCL)
Διαβάστε περισσότεραΠΕΡΙΕΧΟΜΕΝΑ. 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6
ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή στην Δομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6 1.3.1 Δομή
Διαβάστε περισσότεραΧρονοδρομολογητής Κυκλικής Επαναφοράς
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων 4 η Εργαστηριακή Άσκηση: Χρονοδρομολογητής Κυκλικής Επαναφοράς Λειτουργικά Συστήματα Υπολογιστών
Διαβάστε περισσότεραΔιπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ: ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων
Διαβάστε περισσότεραΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ
ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ ΜΕΤΡΑ ΑΠΟΔΟΣΗΣ ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΨΗΛΩΝ ΕΠΙΔΟΣΕΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΨΗΛΩΝ ΕΠΙΔΟΣΕΩΝ Η
Διαβάστε περισσότεραΛειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά
Διαβάστε περισσότεραΓια τις λύσεις των προβλημάτων υπάρχει τρόπος εκτίμησης της επίδοσης (performance) και της αποδοτικότητας (efficiency). Ερωτήματα για την επίδοση
Επίδοση Αλγορίθμων Για τις λύσεις των προβλημάτων υπάρχει τρόπος εκτίμησης της επίδοσης (performance) και της αποδοτικότητας (efficiency). Ερωτήματα για την επίδοση πώς υπολογίζεται ο χρόνος εκτέλεσης
Διαβάστε περισσότερα8. Παράλληλη εκτέλεση βρόχων
Κεφάλαιο 8: Παράλληλη εκτέλεση βρόχων 174 8. Παράλληλη εκτέλεση βρόχων 8.1 Εισαγωγή Στα περισσότερα υπολογιστικά προβλήματα η κύρια πηγή καθυστέρησης είναι οι εμφωλευμένοι βρόχοι (nested loops). Όπως είναι
Διαβάστε περισσότεραΠαράλληλη Επεξεργασία Εργαστηριακή Ασκηση Εαρινού Εξαµήνου 2008
Παράλληλη Επεξεργασία Εργαστηριακή Ασκηση Εαρινού Εξαµήνου 2008 Αντικείµενο της εργαστηριακής άσκησης για το 2008 αποτελεί το πρόβληµα της εύρεσης της κατανοµής ϑερµότητας ενός αντικειµένου σε σταθερή
Διαβάστε περισσότεραΚεφάλαιο 5 Ανάλυση Αλγορίθμων
Κεφάλαιο 5 Ανάλυση Αλγορίθμων 5.1 Επίδοση αλγορίθμων Τα πρωταρχικά ερωτήματα που προκύπτουν είναι: 1. πώς υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 2. πώς μπορούν να συγκριθούν μεταξύ τους οι διάφοροι
Διαβάστε περισσότεραΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2
ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 Πολυπύρηνοι επεξεργαστές, μέρος 2 Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Cache coherence & scalability! Τα πρωτόκολλα
Διαβάστε περισσότεραΠαράλληλη Επεξεργασία
Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στο OpenMP Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed Systems Group Τι είναι το OpenMP Πρότυπο Επέκταση στη C/C++ και τη Fortran
Διαβάστε περισσότεραΠροσομοιώσεις Monte Carlo σε GPU
ΕΘΝΙΚΟ ΜΕΤΣΟΒΕΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΟΜΕΑΣ ΦΥΣΙΚΗΣ Προσομοιώσεις Monte Carlo σε GPU Δημήτρης Καρκούλης Επιβλέπων: Κ. Αναγνωστόπουλος 15/07/2010 Πρακτική στο
Διαβάστε περισσότεραΆσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).
Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2017-2018. Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).
Διαβάστε περισσότερα9. Συστολικές Συστοιχίες Επεξεργαστών
Κεφάλαιο 9: Συστολικές συστοιχίες επεξεργαστών 208 9. Συστολικές Συστοιχίες Επεξεργαστών Οι συστολικές συστοιχίες επεξεργαστών είναι επεξεργαστές ειδικού σκοπού οι οποίοι είναι συνήθως προσκολλημένοι σε
Διαβάστε περισσότεραΕΠΙΣΤΗΜΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ: Μια ενδιαφέρουσα σταδιοδρομία
ΕΠΙΣΤΗΜΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ: Μια ενδιαφέρουσα σταδιοδρομία N. Μισυρλής (e-mail: nmis@di.uoa.gr) Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Parallel Scientific Computing Laboratory (PSCL)
Διαβάστε περισσότεραΜάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)
Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Εισαγωγή H κεντρική μονάδα επεξεργασίας (ΚΜΕ) και η κύρια μνήμη αποτελούν τα βασικά δομικά στοιχεία ενός υπολογιστικού συστήματος. Η πρώτη εκτελεί εντολές χειρισμού δεδομένων
Διαβάστε περισσότεραNetwork Algorithms and Complexity Παραλληλοποίηση του αλγορίθμου του Prim. Αικατερίνη Κούκιου
Network Algorithms and Complexity Παραλληλοποίηση του αλγορίθμου του Prim Αικατερίνη Κούκιου Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,
Διαβάστε περισσότεραΑΕΠΠ Ερωτήσεις θεωρίας
ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος
Διαβάστε περισσότεραCilk: Φιλοσοφία και Χρήση
1 Cilk: Φιλοσοφία και Χρήση Παράλληλα Συστήματα Επεξεργασίας 9ο εξάμηνο ΣΗΜΜΥ ακ έτος 2010-2011 http://wwwcslabecentuagr/courses/pps Εργαστήριο Υπολογιστικών Συστημάτων ΕΜΠ Νοέμβριος 2010 Περιεχόμενα 2
Διαβάστε περισσότεραΘέματα Μεταγλωττιστών
Γιώργος Δημητρίου Ενότητα 10 η : Βελτιστοποιήσεις Τοπικότητας και Παραλληλισμού: Εξαρτήσεις και Μετασχηματισμοί Βρόχων Επεξεργασία Πινάκων Παραλληλισμός επιπέδου βρόχου Λόγω παραλληλισμού δεδομένων Επιτυγχάνεται
Διαβάστε περισσότεραΕθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων. Συγχρονισμός
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων 3 η Εργαστηριακή Άσκηση: Συγχρονισμός Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2016-2017
Διαβάστε περισσότεραΕθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων. Συγχρονισμός
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων 3 η Εργαστηριακή Άσκηση: Συγχρονισμός Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2017-2018
Διαβάστε περισσότεραMatrix Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι. Αλγόριθμοι» Γ. Καούρη Β. Μήτσου
Matrix Algorithms Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Γ. Καούρη Β. Μήτσου Περιεχόμενα παρουσίασης Πολλαπλασιασμός πίνακα με διάνυσμα Πολλαπλασιασμός πινάκων Επίλυση τριγωνικού
Διαβάστε περισσότεραΠαράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης
Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg
Διαβάστε περισσότεραFORTRAN και Αντικειμενοστραφής Προγραμματισμός
FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών
Διαβάστε περισσότεραΠαράλληλη Επεξεργασία
Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στα Πολυεπεξεργαστικά Συστήματα Διερασίες και Νήματα σε Πολυεπεξεργαστικά Συστήματα Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed
Διαβάστε περισσότεραΕπιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί
Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί Χαρμανδάρης Βαγγέλης, Τμήμα Εφαρμοσμένων Μαθηματικών Πανεπιστήμιο Κρήτης, Εαρινό Εξάμηνο 2013/14 Κεφάλαιο 3: Θεωρία Παράλληλου Προγραμματισμού
Διαβάστε περισσότεραΚεφάλαιο 3. Διδακτικοί Στόχοι
Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,
Διαβάστε περισσότεραΠρόβλημα 37 / σελίδα 207
Πρόβλημα 37 / σελίδα 207 2.5. Ôåóô áõôïáîéïëüãçóçò Δίνονται οι παρακάτω ομάδες προτάσεων. Σε κάθε μία από αυτές, να κάνετε τις απαραίτητες διορθώσεις ώστε να ισχύουν οι προτάσεις 1. Η αναπαράσταση
Διαβάστε περισσότεραΕισαγωγικά & Βασικές Έννοιες
Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο
Διαβάστε περισσότεραΕπιτεύγµατα των Λ.Σ.
Επιτεύγµατα των Λ.Σ. ιεργασίες ιαχείριση Μνήµης Ασφάλεια και προστασία δεδοµένων Χρονοπρογραµµατισµός & ιαχείρηση Πόρων οµή Συστήµατος ιεργασίες Ένα πρόγραµµα σε εκτέλεση Ένα στιγµιότυπο ενός προγράµµατος
Διαβάστε περισσότεραΕλαχιστοποίηση της Καταναλισκόμενης Ενέργειας σε Φορητές Συσκευές
Ελαχιστοποίηση της Καταναλισκόμενης Ενέργειας σε Φορητές Συσκευές Βασίλης Βλάχος vbill@aueb.gr Υποψήφιος Διδάκτορας Τμήματος Διοικητικής Επιστήμης και Τεχνολογίας 1 Σχεδιασμός ενσωματωμένων συστημάτων
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. Μελέτη Αλγορίθμων Εκτέλεσης και Χρονοδρομολόγησης Παράλληλων Εργασιών ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Μελέτη Αλγορίθμων Εκτέλεσης και Χρονοδρομολόγησης Παράλληλων Εργασιών
Διαβάστε περισσότεραEM 361: Παράλληλοι Υπολογισμοί
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ EM 361: Παράλληλοι Υπολογισμοί Ενότητα #2: Αρχιτεκτονική Διδάσκων: Χαρμανδάρης Ευάγγελος ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΠΙΣΤΗΜΩΝ
Διαβάστε περισσότεραΜεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 9 ο
Γιώργος Δημητρίου Μάθημα 9 ο Ενδιάμεσος Κώδικας Απεικόνιση ανάμεσα στον αρχικό και στον τελικό κώδικα Γραμμικές αναπαραστάσεις: Ενδιάμεσος κώδικας πλησιέστερα στον τελικό ευκολότερη παραγωγή τελικού κώδικα
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Γ ) Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών
Διαβάστε περισσότεραΘέματα Προγραμματισμού Η/Υ
Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 1: Εισαγωγή Θεματική Ενότητα: Εισαγωγή στον Προγραμματισμό ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική
Διαβάστε περισσότεραΕισαγωγικά & Βασικές Έννοιες
Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο
Διαβάστε περισσότεραΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ
ΑΡΧΗ 1ης ΣΕΛΙ ΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΦΕΒΡΟΥΑΡΙΟΥ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 ΘΕΜΑ Α :
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΑΡΑΛΛΗΛΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΜΕ OpenMP (2 ο Μέρος)
ΕΡΓΑΛΕΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΑΡΑΛΛΗΛΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΜΕ OpenMP (2 ο Μέρος) Νίκος Τρυφωνίδης Εφαρμογή 7: Ανισορροπία Το πρόγραμμα imbalance.c περιέχει ένα loop το οποίο έχει μεγαλύτερη εργασία
Διαβάστε περισσότεραEM 361: Παράλληλοι Υπολογισμοί
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ EM 361: Παράλληλοι Υπολογισμοί Ενότητα #4: Παράλληλοι Αλγόριθμοι Διδάσκων: Χαρμανδάρης Ευάγγελος ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΠΙΣΤΗΜΩΝ
Διαβάστε περισσότεραιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων
ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο
Διαβάστε περισσότερα2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ
2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ Προκειμένου να επιτευχθεί η «ακριβής περιγραφή» ενός αλγορίθμου, χρησιμοποιείται κάποια γλώσσα που μπορεί να περιγράφει σειρές ενεργειών με τρόπο αυστηρό,
Διαβάστε περισσότεραΟργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική
Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Ταχύτητα εκτέλεσης Χρόνος εκτέλεσης = (αριθμός εντολών που εκτελούνται) Τί έχει σημασία: Χ (χρόνος εκτέλεσης εντολής) Αριθμός
Διαβάστε περισσότεραΜΕΤΡΗΣΕΙΣ ΚΑΙ ΕΦΑΡΜΟΓΕΣ ΥΨΗΛΩΝ ΤΑΣΕΩΝ
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τομέας Ηλεκτρικής Ισχύος Εργαστήριο Υψηλών Τάσεων ΜΕΤΡΗΣΕΙΣ ΚΑΙ ΕΦΑΡΜΟΓΕΣ ΥΨΗΛΩΝ ΤΑΣΕΩΝ (Αριθμητικές μέθοδοι υπολογισμού
Διαβάστε περισσότεραΑσκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών
Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών ακ. έτος 2006-2007 Νεκτάριος Κοζύρης Νίκος Αναστόπουλος {nkoziris,anastop}@cslab.ece.ntua.gr Άσκηση 1: pipelining Εξετάζουμε την εκτέλεση του παρακάτω
Διαβάστε περισσότεραΣου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά.
AeppAcademy.com facebook.com/aeppacademy Γεια. Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. Καλή Ανάγνωση & Καλή Επιτυχία
Διαβάστε περισσότεραΜετακινούμενος Κώδικας (Mobile Code) Κατανεμημένα Συστήματα 1
Μετακινούμενος Κώδικας (Mobile Code) Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Γιατί μετακινούμενος κώδικας; Ευελιξία διαχείρισης μετακίνηση υπηρεσιών του συστήματος Μείωση επικοινωνίας / τοπικής επεξεργασίας
Διαβάστε περισσότεραΔιεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1
Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα
Διαβάστε περισσότεραMinimum Spanning Tree: Prim's Algorithm
Minimum Spanning Tree: Prim's Algorithm 1. Initialize a tree with a single vertex, chosen arbitrarily from the graph. 2. Grow the tree by one edge: of the edges that connect the tree to vertices not yet
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Συστήματα Παράλληλης
Διαβάστε περισσότεραΣκοπός Μαθήματος. Λειτουργικά Συστήματα Η/Υ. Γενικές Πληροφορίες. Στόχοι Μαθήματος ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή»
Σκοπός Μαθήματος Λειτουργικά Συστήματα Η/Υ Θεωρία: Βασικές έννοιες των λειτουργικών συστημάτων Βασικές αρχές σχεδιασμού τους Κεφάλαιο 1 «Εισαγωγή» Εργαστήριο: Πρακτική εξάσκηση στη χρήση των λειτουργικών
Διαβάστε περισσότεραΕρωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2
Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων Πληροφορικής 2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών 3. Ο αλγόριθμος
Διαβάστε περισσότεραΣυστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα: Intel Parallel Studio XE 2013 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων
Διαβάστε περισσότεραΚατανεμημένος και Παράλληλος Προγραμματισμός
Κατανεμημένος και Παράλληλος Προγραμματισμός Ηλίας Κ. Σάββας Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Θεσσαλίας Email: savvas@teilar.gr Παράλληλος προγραμματισμός OpenMP (3) Critical vs. Single Η
Διαβάστε περισσότεραΑνάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου
ΣΥΣΤΗΜΑΤΑ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ Μάθημα Επιλογής Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου Δρ. Γεώργιος Κεραμίδας e-mail: gkeramidas@teimes.gr 1 Διεργασίες: Κατάσταση Εκτέλεσης (3-σταδίων) Κατάσταση
Διαβάστε περισσότεραΚατανεμημένος και Παράλληλος Προγραμματισμός
Κατανεμημένος και Παράλληλος Προγραμματισμός Ηλίας Κ. Σάββας Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Θεσσαλίας Email: savvas@teilar.gr Παράλληλος προγραμματισμός OpenMP (2) Παραλληλοποίηση των βρόγχων
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ
ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ Κ Υ Κ Λ Ο Υ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Κ Α Ι Υ Π Η Ρ Ε Σ Ι Ω Ν Τ Ε Χ Ν Ο Λ Ο Γ Ι Κ Η
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΜΕΡΛΙΑΟΥΝΤΑΣ ΣΤΕΦΑΝΟΣ, ΠΕ19 ΚΕΦΑΛΑΙΟ 3 Αλγόριθμοι 3. Αλγόριθμοι 2 3. Αλγόριθμοι 3.1 Η έννοια του αλγορίθμου 3.2 Χαρακτηριστικά αλγορίθμου 3.3 Ανάλυση αλγορίθμων
Διαβάστε περισσότεραCilk: Φιλοσοφία και Χρήση
1 Cilk: Φιλοσοφία και Χρήση Παράλληλα Συστήματα Επεξεργασίας 9ο εξάμηνο ΣΗΜΜΥ ακ. έτος 2012-2013 http://www.cslab.ece.ntua.gr/courses/pps Εργαστήριο Υπολογιστικών Συστημάτων ΕΜΠ Δεκέμβριος 2012 Cilk 2
Διαβάστε περισσότεραΕ-85: Ειδικά Θέµατα Λογισµικού
Ε-85: Ειδικά Θέµατα Λογισµικού Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων Χειµερινό Εξάµηνο 2009-10 «ιεργασίες και Νήµατα» Παναγιώτης Χατζηδούκας (Π.Δ. 407/80) E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων
Διαβάστε περισσότεραΚατανεμημένα Συστήματα
Κατανεμημένα Συστήματα Σημειώσεις εργαστηρίου Lab#5 - SISD, SIMD, Νόμος του Amdahl, Γράφος εξάρτησης Νεβράντζας Βάιος-Γερμανός Λάρισα, Φεβρουάριος 2013 Lab#5, σελίδα 1 Περίληψη Στο 2ο μέρος του εργαστηριακού
Διαβάστε περισσότεραΔιάλεξη 8: Πρόβλημα Αμοιβαίου Αποκλεισμού. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι
Διάλεξη 8: Πρόβλημα Αμοιβαίου Αποκλεισμού ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Μοντέλο Κοινόχρηστης Μνήμης Αλγόριθμοι Αμοιβαίου Αποκλεισμού με Ισχυρούς Καταχωρητές ΕΠΛ432: Κατανεµηµένοι
Διαβάστε περισσότεραΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ.
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΥΣ Θέμα: ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ. Εισηγητής: Δ. Ν. Καλλέργης, MSc. Φοιτήτρια: Κοντζοπούλου Παναγιώτα Εισαγωγή
Διαβάστε περισσότερα