Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων

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

Download "Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων"

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

2. Στοιχεία Αρχιτεκτονικής Παράλληλων Υπολογιστών... 45 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος... 9 1. Εισαγωγή... 13 1.1 Οι Μεγάλες Σύγχρονες Επιστημονικές Προκλήσεις... 13 1.2 Εξέλιξη της Παράλληλης Επεξεργασίας Δεδομένων... 14 1.3 Οι Έννοιες της Σωλήνωσης, του Παραλληλισμού

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

Παράλληλος προγραμματισμός: Υλοποίηση παράλληλων προγραμμάτων

Παράλληλος προγραμματισμός: Υλοποίηση παράλληλων προγραμμάτων Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο Σύνοψη παρουσίασης

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

Παρουσίαση 2 ης Άσκησης:

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

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

Παρουσίαση 2 ης Άσκησης:

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

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

Η πολυνηματική γλώσσα προγραμματισμού Cilk

Η πολυνηματική γλώσσα προγραμματισμού Cilk Η πολυνηματική γλώσσα προγραμματισμού Cilk Β Καρακάσης Ερευνητικά Θέματα Υλοποίησης Γλωσσών Προγραμματισμού Μεταπτυχιακό Μάθημα (688), ΣΗΜΜΥ Νοέμβριος 2009 Β Καρακάσης (CSLab, NTUA) ΣΗΜΜΥ, Μετ/κό 688 9/2009

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

Μετρικές & Επιδόσεις. Κεφάλαιο V

Μετρικές & Επιδόσεις. Κεφάλαιο V Μετρικές & Επιδόσεις Κεφάλαιο V Χρόνος εκτέλεσης & επιτάχυνση Σειριακός χρόνος εκτέλεσης: Τ (για τον καλύτερο σειριακό αλγόριθμο) Παράλληλος χρόνος εκτέλεσης: (με επεξεργαστές) Επιτάχυνση (speedup): S

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

13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1

13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1 13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1 ΓΛΩΣΣΑΡΙ Αµοιβαίος αποκλεισµός (mutual exclusion) Στο µοντέλο κοινού χώρου διευθύνσεων, ο αµοιβαίος αποκλεισµός είναι ο περιορισµός του αριθµού των διεργασιών

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

Παρουσίαση 1 ης Άσκησης:

Παρουσίαση 1 ης Άσκησης: Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παρουσίαση 1 ης Άσκησης: Ανάπτυξη παράλληλου κώδικα σε πολυπύρηνες αρχιτεκτονικές κοινής

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

Διεργασίες και Νήματα (2/2)

Διεργασίες και Νήματα (2/2) Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Διεργασίες και Νήματα (2/2) Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2016-2017 Νήματα

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

Παρουσίαση 3ης Άσκησης

Παρουσίαση 3ης Άσκησης Παρουσίαση 3ης Άσκησης Παράλληλος προγραμματισμός για αρχιτεκτονικές κατανεμημένης μνήμης με MPI Συστήματα Παράλληλης Επεξεργασίας 9ο Εξάμηνο, ΣΗΜΜΥ Εργ. Υπολογιστικών Συστημάτων Σχολή ΗΜΜΥ, Ε.Μ.Π. Νοέμβριος

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

ΣΥΣΤΗΜΑΤΑ ΠΑΡΑΛΛΗΛΗΣ ΕΠΕΞΕΡΓΑΣΙΑΣ 9o εξάμηνο ΗΜΜΥ, ακαδημαϊκό έτος

ΣΥΣΤΗΜΑΤΑ ΠΑΡΑΛΛΗΛΗΣ ΕΠΕΞΕΡΓΑΣΙΑΣ 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 η : Παράλληλος Προγραμματισμός. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Ενότητα 4 η : Παράλληλος Προγραμματισμός Παράλληλος Προγραμματισμός Ο παράλληλος προγραμματισμός με βάση την αφαιρετικότητα: Ελάχιστη έως καμία γνώση της αρχιτεκτονικής Επεκτάσεις παράλληλου

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Διπλωματικές

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

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

Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός;

Παράλληλη Επεξεργασία Κεφάλαιο 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.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6 ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή στην Δομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6 1.3.1 Δομή

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

Χρονοδρομολογητής Κυκλικής Επαναφοράς

Χρονοδρομολογητής Κυκλικής Επαναφοράς Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων 4 η Εργαστηριακή Άσκηση: Χρονοδρομολογητής Κυκλικής Επαναφοράς Λειτουργικά Συστήματα Υπολογιστών

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

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

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

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

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ ΜΕΤΡΑ ΑΠΟΔΟΣΗΣ ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΨΗΛΩΝ ΕΠΙΔΟΣΕΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΨΗΛΩΝ ΕΠΙΔΟΣΕΩΝ Η

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

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά

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

Για τις λύσεις των προβλημάτων υπάρχει τρόπος εκτίμησης της επίδοσης (performance) και της αποδοτικότητας (efficiency). Ερωτήματα για την επίδοση

Για τις λύσεις των προβλημάτων υπάρχει τρόπος εκτίμησης της επίδοσης (performance) και της αποδοτικότητας (efficiency). Ερωτήματα για την επίδοση Επίδοση Αλγορίθμων Για τις λύσεις των προβλημάτων υπάρχει τρόπος εκτίμησης της επίδοσης (performance) και της αποδοτικότητας (efficiency). Ερωτήματα για την επίδοση πώς υπολογίζεται ο χρόνος εκτέλεσης

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

8. Παράλληλη εκτέλεση βρόχων

8. Παράλληλη εκτέλεση βρόχων Κεφάλαιο 8: Παράλληλη εκτέλεση βρόχων 174 8. Παράλληλη εκτέλεση βρόχων 8.1 Εισαγωγή Στα περισσότερα υπολογιστικά προβλήματα η κύρια πηγή καθυστέρησης είναι οι εμφωλευμένοι βρόχοι (nested loops). Όπως είναι

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

Παράλληλη Επεξεργασία Εργαστηριακή Ασκηση Εαρινού Εξαµήνου 2008

Παράλληλη Επεξεργασία Εργαστηριακή Ασκηση Εαρινού Εξαµήνου 2008 Παράλληλη Επεξεργασία Εργαστηριακή Ασκηση Εαρινού Εξαµήνου 2008 Αντικείµενο της εργαστηριακής άσκησης για το 2008 αποτελεί το πρόβληµα της εύρεσης της κατανοµής ϑερµότητας ενός αντικειµένου σε σταθερή

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

Κεφάλαιο 5 Ανάλυση Αλγορίθμων

Κεφάλαιο 5 Ανάλυση Αλγορίθμων Κεφάλαιο 5 Ανάλυση Αλγορίθμων 5.1 Επίδοση αλγορίθμων Τα πρωταρχικά ερωτήματα που προκύπτουν είναι: 1. πώς υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 2. πώς μπορούν να συγκριθούν μεταξύ τους οι διάφοροι

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 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 ΕΘΝΙΚΟ ΜΕΤΣΟΒΕΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΟΜΕΑΣ ΦΥΣΙΚΗΣ Προσομοιώσεις Monte Carlo σε GPU Δημήτρης Καρκούλης Επιβλέπων: Κ. Αναγνωστόπουλος 15/07/2010 Πρακτική στο

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

Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).

Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα). Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2017-2018. Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).

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

9. Συστολικές Συστοιχίες Επεξεργαστών

9. Συστολικές Συστοιχίες Επεξεργαστών Κεφάλαιο 9: Συστολικές συστοιχίες επεξεργαστών 208 9. Συστολικές Συστοιχίες Επεξεργαστών Οι συστολικές συστοιχίες επεξεργαστών είναι επεξεργαστές ειδικού σκοπού οι οποίοι είναι συνήθως προσκολλημένοι σε

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

ΕΠΙΣΤΗΜΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ: Μια ενδιαφέρουσα σταδιοδρομία

ΕΠΙΣΤΗΜΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ: Μια ενδιαφέρουσα σταδιοδρομία ΕΠΙΣΤΗΜΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ: Μια ενδιαφέρουσα σταδιοδρομία N. Μισυρλής (e-mail: nmis@di.uoa.gr) Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Parallel Scientific Computing Laboratory (PSCL)

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

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Εισαγωγή H κεντρική μονάδα επεξεργασίας (ΚΜΕ) και η κύρια μνήμη αποτελούν τα βασικά δομικά στοιχεία ενός υπολογιστικού συστήματος. Η πρώτη εκτελεί εντολές χειρισμού δεδομένων

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

Network Algorithms and Complexity Παραλληλοποίηση του αλγορίθμου του Prim. Αικατερίνη Κούκιου

Network Algorithms and Complexity Παραλληλοποίηση του αλγορίθμου του Prim. Αικατερίνη Κούκιου Network Algorithms and Complexity Παραλληλοποίηση του αλγορίθμου του Prim Αικατερίνη Κούκιου Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

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

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

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

Cilk: Φιλοσοφία και Χρήση

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. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι. Αλγόριθμοι» Γ. Καούρη Β. Μήτσου Matrix Algorithms Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Γ. Καούρη Β. Μήτσου Περιεχόμενα παρουσίασης Πολλαπλασιασμός πίνακα με διάνυσμα Πολλαπλασιασμός πινάκων Επίλυση τριγωνικού

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

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

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg

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

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

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

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

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

Παράλληλη Επεξεργασία Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στα Πολυεπεξεργαστικά Συστήματα Διερασίες και Νήματα σε Πολυεπεξεργαστικά Συστήματα Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed

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

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

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

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

Κεφάλαιο 3. Διδακτικοί Στόχοι

Κεφάλαιο 3. Διδακτικοί Στόχοι Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,

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

Πρόβλημα 37 / σελίδα 207

Πρόβλημα 37 / σελίδα 207 Πρόβλημα 37 / σελίδα 207 2.5. Ôåóô áõôïáîéïëüãçóçò Δίνονται οι παρακάτω ομάδες προτάσεων. Σε κάθε μία από αυτές, να κάνετε τις απαραίτητες διορθώσεις ώστε να ισχύουν οι προτάσεις 1. Η αναπαράσταση

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

Εισαγωγικά & Βασικές Έννοιες

Εισαγωγικά & Βασικές Έννοιες Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο

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

Επιτεύγµατα των Λ.Σ.

Επιτεύγµατα των Λ.Σ. Επιτεύγµατα των Λ.Σ. ιεργασίες ιαχείριση Μνήµης Ασφάλεια και προστασία δεδοµένων Χρονοπρογραµµατισµός & ιαχείρηση Πόρων οµή Συστήµατος ιεργασίες Ένα πρόγραµµα σε εκτέλεση Ένα στιγµιότυπο ενός προγράµµατος

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

Ελαχιστοποίηση της Καταναλισκόμενης Ενέργειας σε Φορητές Συσκευές

Ελαχιστοποίηση της Καταναλισκόμενης Ενέργειας σε Φορητές Συσκευές Ελαχιστοποίηση της Καταναλισκόμενης Ενέργειας σε Φορητές Συσκευές Βασίλης Βλάχος vbill@aueb.gr Υποψήφιος Διδάκτορας Τμήματος Διοικητικής Επιστήμης και Τεχνολογίας 1 Σχεδιασμός ενσωματωμένων συστημάτων

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. Μελέτη Αλγορίθμων Εκτέλεσης και Χρονοδρομολόγησης Παράλληλων Εργασιών ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. Μελέτη Αλγορίθμων Εκτέλεσης και Χρονοδρομολόγησης Παράλληλων Εργασιών ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Μελέτη Αλγορίθμων Εκτέλεσης και Χρονοδρομολόγησης Παράλληλων Εργασιών

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

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

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

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 9 ο

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 9 ο Γιώργος Δημητρίου Μάθημα 9 ο Ενδιάμεσος Κώδικας Απεικόνιση ανάμεσα στον αρχικό και στον τελικό κώδικα Γραμμικές αναπαραστάσεις: Ενδιάμεσος κώδικας πλησιέστερα στον τελικό ευκολότερη παραγωγή τελικού κώδικα

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

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

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

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

Θέματα Προγραμματισμού Η/Υ

Θέματα Προγραμματισμού Η/Υ Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 1: Εισαγωγή Θεματική Ενότητα: Εισαγωγή στον Προγραμματισμό ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική

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

Εισαγωγικά & Βασικές Έννοιες

Εισαγωγικά & Βασικές Έννοιες Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο

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

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΡΧΗ 1ης ΣΕΛΙ ΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΦΕΒΡΟΥΑΡΙΟΥ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 ΘΕΜΑ Α :

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

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΑΡΑΛΛΗΛΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΜΕ OpenMP (2 ο Μέρος)

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΑΡΑΛΛΗΛΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΜΕ OpenMP (2 ο Μέρος) ΕΡΓΑΛΕΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΑΡΑΛΛΗΛΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΜΕ OpenMP (2 ο Μέρος) Νίκος Τρυφωνίδης Εφαρμογή 7: Ανισορροπία Το πρόγραμμα imbalance.c περιέχει ένα loop το οποίο έχει μεγαλύτερη εργασία

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

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

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

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

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο

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

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ 2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ Προκειμένου να επιτευχθεί η «ακριβής περιγραφή» ενός αλγορίθμου, χρησιμοποιείται κάποια γλώσσα που μπορεί να περιγράφει σειρές ενεργειών με τρόπο αυστηρό,

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

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Οργάνωση επεξεργαστή (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 Μετακινούμενος Κώδικας (Mobile Code) Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Γιατί μετακινούμενος κώδικας; Ευελιξία διαχείρισης μετακίνηση υπηρεσιών του συστήματος Μείωση επικοινωνίας / τοπικής επεξεργασίας

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

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

Minimum Spanning Tree: Prim's Algorithm

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 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή» Σκοπός Μαθήματος Λειτουργικά Συστήματα Η/Υ Θεωρία: Βασικές έννοιες των λειτουργικών συστημάτων Βασικές αρχές σχεδιασμού τους Κεφάλαιο 1 «Εισαγωγή» Εργαστήριο: Πρακτική εξάσκηση στη χρήση των λειτουργικών

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 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: Φιλοσοφία και Χρήση

Cilk: Φιλοσοφία και Χρήση 1 Cilk: Φιλοσοφία και Χρήση Παράλληλα Συστήματα Επεξεργασίας 9ο εξάμηνο ΣΗΜΜΥ ακ. έτος 2012-2013 http://www.cslab.ece.ntua.gr/courses/pps Εργαστήριο Υπολογιστικών Συστημάτων ΕΜΠ Δεκέμβριος 2012 Cilk 2

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

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

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

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

Κατανεμημένα Συστήματα

Κατανεμημένα Συστήματα Κατανεμημένα Συστήματα Σημειώσεις εργαστηρίου Lab#5 - SISD, SIMD, Νόμος του Amdahl, Γράφος εξάρτησης Νεβράντζας Βάιος-Γερμανός Λάρισα, Φεβρουάριος 2013 Lab#5, σελίδα 1 Περίληψη Στο 2ο μέρος του εργαστηριακού

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

Διάλεξη 8: Πρόβλημα Αμοιβαίου Αποκλεισμού. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Διάλεξη 8: Πρόβλημα Αμοιβαίου Αποκλεισμού. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 8: Πρόβλημα Αμοιβαίου Αποκλεισμού ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Μοντέλο Κοινόχρηστης Μνήμης Αλγόριθμοι Αμοιβαίου Αποκλεισμού με Ισχυρούς Καταχωρητές ΕΠΛ432: Κατανεµηµένοι

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

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ.

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ. ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΥΣ Θέμα: ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ. Εισηγητής: Δ. Ν. Καλλέργης, MSc. Φοιτήτρια: Κοντζοπούλου Παναγιώτα Εισαγωγή

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