All Pairs Shortest Path
|
|
- Φίλων Βασιλειάδης
- 8 χρόνια πριν
- Προβολές:
Transcript
1 All Pairs Shortest Path χρησιμοποιώντας Κυπριώτη Αικατερίνη 6960 Μόσχογλου Στυλιανός Ιανουαρίου 2012
2 Περιεχόμενα 1 Πρόλογος 3 2 Ο σειριακός APSP 3 3 Η παραλληλοποίηση με Το προγραμματιστικό μοντέλο Το παράλληλο APSP Οι μετρήσεις στον Διάδη Διαγράμματα Επίλογος 9 6 Βιβλιογραφία 10 2
3 1 Πρόλογος Η εργασία αυτή πραγματοποιήθηκε στα πλαίσια του μαθήματος Παράλληλα & Διανεμημένα Συστήματα, στο πολυτεχνικό τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης, υπό την επίβλεψη του καθηγητού Πιτσιάνη Νικόλαου. Είναι δακτυλογραφημένη σε L A TEX. Σκοπός της είναι να περιγράψει το κατά δυνατόν καλύτερα την χρήση και παραλληλοποίηση του All Pairs Shortest Path (APSP) των Floyd Warshall. Ο κώδικας που χρησιμοποιήθηκε, μαζί με σχόλια όπου κρίνεται απαραίτητο, βρίσκεται στο αρχείο apsp.cu, επισυναπτόμενο στο τρέχον rar αρχείο. Ακολουθεί ενδελεχής περιγραφή του παράλληλου αλγορίθμου και στατιστικά αποτελέσματα μετρήσεων από τον Διάδη. Τέλος, ευχαριστούμε τον μεταπτυχιακό φοιτητή Σισμάνη Νικόλαο που ήταν πάντα διαθέσιμος να απαντήσει στις απορίες μας κατά την υλοποίηση της εργασίας. Καλή ανάγνωση... 2 Ο σειριακός APSP Καταρχάς, ο αλγόριθμος των Floyd-Warshall αφορά την εύρεση όλων των συντομότερων διαδρομών (paths) μέσα σε ένα κατευθυνόμενο γράφο. Ουσιαστικά, σε ένα γράφο n κόμβων (vertices), τα συνολικά ζευγάρια που δυνητικά μπορούν να εμφανιστούν είναι n 2. Ο συγκεκριμένος αλγόριθμος, μέσω της χρήσης 3 for, δηλαδή πολυπλοκότητας n 3, μας επιστρέφει τις συντομότερες διαδρομές για όλα τα n 2 ζευγάρια. Επομένως, η απόδοσή του O (n 3 ), μπορεί να χαρακτηριστεί ως τουλάχιστον εκπληκτική! Το πώς ακριβώς συντελείται το παραπάνω, το αναλύουμε κατωτέρω, παραθέτοντας τον αλγόριθμο σε μορφή ψευδοκώδικα, αλλά και μέσω ενός σχήματος, ώστε να υπάρχει και η αντίστοιχη οπτικόποιηση του τι συμβαίνει. 1: {Serial APSP algorithm} 2: for all 1 i n do 3: for all 1 j n do 4: if i = j or g ij = + then 5: p ij 1 6: else 7: p ij i 8: end if 9: end for 10: end for 3
4 11: for all 1 k n do 12: for all 1 i n do 13: for all 1 j n do 14: temp g ik + g kj 15: if temp < g ij then 16: g ij temp 17: p ij p kj 18: end if 19: end for 20: end for 21: end for Πριν ξεκινήσουμε την ανάλυση του αλγορίθμου, θα πρέπει να σημειωθεί ότι ο αρχικός πίνακας g που περιέχει τα βάρη των διαδρομών, έχει αρχικοποιηθεί με τυχαίες τιμές, μικρότερες του n. Σε περίπτωση που μιλάμε για το ίδιο στοιχείο, δηλαδή ταυτίζονται η εκάστοτε τετμημένη και τεταγμένη στον πίνακα, τότε η τιμή του είναι ίση με 0. Αν δεν υπάρχει η διαδρομή, τότε στην αντίστοιχη θέση υπάρχει η τιμή +. Παρατηρώντας τώρα προσεκτικά τον άνωθεν αλγόριθμο, βλέπουμε ότι ο πίνακας g θα έχει στο τέλος της εκτέλεσής του το μικρότερο βάρος που αντιστοιχεί στη βέλτιστη διαδρομή, ενώ ο πίνακας p θα περιέχει το στοιχείο μέσω του οποίου συντελείται αυτή η συντομότερη διαδρομή μεταξύ των κορυφών i και j. Αν δεν υπάρχει αυτή η διαδρομή ή μιλάμε για το ίδιο στοιχείο, τότε στην αντίστοιχη θέση έχει την τιμή 1. Για την καλύτερη οπτικοποίηση, παραθέτουμε και το παρακάτω παράδειγμα γράφου:
5 Επιλέγοντας π.χ. τη διαδρομή 1 2, παρατηρούμε ότι η συντομότερη διαδρομή είναι αυτή, χωρίς να μεσολαβεί ενδιάμεση. Άρα, σε αυτή την περίπτωση, ο πίνακας g στο στοιχείο g[1][2], θα πρέπει να έχει την τιμή 7, ενώ ο πίνακας p στο στοιχείο p[1][2], θα πρέπει να έχει την τιμή 0. Η εύρεση των υπολοίπων επαφίεται στον αναγνώστη... 3 Η παραλληλοποίηση με Πριν αναφέρουμε τον τρόπο με τον οποίο υλοποιήσαμε την παράλληλη εκδοχή του αλγορίθμου, κρίθηκε σκόπιμο από τους συγγραφείς να αναφερθούν μερικά στοιχειώδη, αλλά ταυτόχρονα ουσιώδη χαρακτηριστικά της συγκεκριμένης αρχιτεκτονικής. Η είναι υπολογιστική μηχανή των καρτών γραφικών (GPU) της nvidia και είναι προσβάσιμη από τους προγραμματιστές κυρίως μέσω της γλώσσας C. Χρησιμοποιείται ευρέως, καθώς τα τελευταία χρόνια είναι ραγδαία η αύξηση της ταχύτητας των καρτών γραφικών σε σύγκριση με αυτές των απλών υπολογιστικών επεξεργαστών (CPU s). Αυτό επιτυγχάνεται μέσω της χρήσης πολλών νημάτων (threads) που υποβοηθάει το καθένα στην παράλληλη, άρα και στην τάχιστη, εκτέλεση του προγράμματος. 3.1 Το προγραμματιστικό μοντέλο Για κάθε προγραμματιστή το μοντέλο της είναι μια συλλογή από threads που τρέχουν παράλληλα. Το warp είναι μία συλλογή από threads τα οποία μπορούν να εκτελούνται ταυτόχρονα στον πολυεπεξεργαστή. Το μέγεθος του warp είναι fixed για μια συγκεκριμένη GPU. Ο προγραμματιστής αποφασίζει τον αριθμό των threads που θα εκτελεστούν. Αν ο αριθμός των threads είναι μεγαλύτερος από το μέγεθος του warp, τότε διαμοιράζονται χρονικά στον πολυεπεξεργαστή. Μία συλλογή από threads ονομάζεται block και τρέχει στον πολυεπεξεργαστή σε μια συγκεκριμένη χρονική στιγμή. Πολλά blocks μπορούν να ανατεθούν σε έναν πολυεπεξεργαστή και η εκτέλεσή τους να είναι χρονικά διαμοιραζόμενη. Μια μοναδική εκτέλεση σε μια συσκευή δημιουργεί έναν αριθμό από blocks. Μια συλλογή από όλα τα blocks σε μια μοναδική εκτέλεση ονομάζεται grid. Ολα τα threads από όλα τα blocks που εκτελούνται σε ένα μοναδικό πολυεπεξεργαστή χωρίζουν τους πόρους ισομερώς ανάμεσά τους. Κάθε thread και block έχει μία μοναδική ταυτότητα (id), στο οποίο μπορούμε να έχουμε πρόσβαση κατά τη διάρκεια της εκτέλεσης. Κάθε thread εκτελεί ένα μοναδικό set εντολών που ονομάζεται kernel. Χρησιμοποιώντας τα id s των threads και των blocks, μπορεί κανείς να εφαρμόσει τη διεργασίά του kernel σε διαφορετικό set δεδομένων. Το μοντέλο της παρέχει σχεδόν μια PRAM (parallel access random machine) αν ένας χρησιμοποιεί μόνο τη μνήμη 5
6 της συσκευής. Παρόλα αυτά, οι πολυεπεξεργαστές ακολουθούν ένα μοντέλο του οποίου η επίδοση μπορεί να βελτιωθεί κάνοντας χρήση της διαμεριζόμενης μνήμης (shared memory) που μπορεί να προσπελαστεί πιο γρήγορα από τη μνήμη της συσκευής (global memory). Η αρχιτεκτονική του υλικού επιτρέπει πολλαπλά set εντολών να εκτελεστούν σε διαφορετικούς πολυεπεξεργαστές. Μια οπτικοποίηση του παραπάνω και πώς διχοτομείται ένας πίνακας σε blocks και threads, παρουσιάζεται στο ακόλουθο σχήμα: first thread visualization first block 3.2 Το παράλληλο APSP Ουσιαστικά εδώ έχουμε να κάνουμε με τον εντελώς αντίστοιχο σειριακό αλγόριθμο που αναλύσαμε ανωτέρω. Μόνο που ουσιαστικά ο αλγόριθμος διαμερίζεται καταλλήλως, ώστε να μοιραστεί η εκτέλεσή του σε καθένα από τα threads της GPU. Το πώς ακριβώς πραγματοποιείται αυτό, αναλύεται παρακάτω. Παρατηρούμε ότι στο σειριακό αλγόριθμο κάθε φορά που εκτελείται η πρώτη εξωτερική επανάληψη του k, ανανεώνονται οι τιμές των πινάκων g και p, οι οποίοι για χάριν ευκολίας έχουν υλοποιηθεί ως μονοδιάστατοι πίνακες και αν η διάστασή τους είναι n n, τότε για να πάρουμε το στοιχείο π.χ. g[i][j], χρησιμοποιούμε την έκφραση g[i n + j]. Η ανανέωση αυτών των τιμών 6
7 γίνεται με την κλήση της global συνάρτησης p floydwarshall() από πολλά threads, καθένα από τα οποία αναλαμβάνει να ανανεώσει μια διαφορετική θέση του πίνακα. Ουσιαστικά καλείται η συνάρτηση για ένα συγκεκριμένο αριθμό blocks καθένα από τα οποία έχει ένα συγκεκριμένο αριθμό threads, που στη δική μας περίπτωση, στον αριθμό των threads ανά block δώσαμε την default τιμή BLOCKSIZE 256. Οταν το κάθε thread εκτελεί την συνάρτηση p floydwarshall(), υπολογίζεται η θέση του ανάμεσα στα threads χρησιμοποιώντας το id του αλλά και το id του block στο οποίο ανήκει (blockidx.x blockdim.x + threadidx.x). Επειτα υπολογίζεται η τετμημένη ix / x και η τεταγμένη του πίνακα ix - i x και ανανεώνεται η τιμή στην αντίστοιχη θέση (i x + j) του πίνακα. Στο τέλος όλων των επαναλήψεων του k, οι πίνακες g και p θα περιέχουν τις ζητούμενες τιμές. 4 Οι μετρήσεις στον Διάδη Παρακάτω παραθέτουμε αρχικά τους πίνακες με τα χρονικά αποτελέσματα α- πό τον Διάδη για N {256, 512, 1024, 2048, 4096}. Το With DT αναφέρεται στον χρόνο συμπεριλαμβάνοντας τη μεταφορά των δεδομένων από και προς την CPU, ενώ το Without DT χωρίς αυτόν. Προσπαθήσαμε οποτεδήποτε τρέχαμε το πρόγραμμα να είμαστε οι μόνοι που το εκτελούν, για να μην υπάρχουν καθυστερήσεις άνευ λόγου και αιτίας. Τα αποτελέσματα που λάβαμε είναι πραγματικά εκπληκτικά και παρουσιάζουν τη μεγάλη δύναμη που έχει μια GPU και πόσο πολύ μπορεί να βοηθήσει στην εξοικονόμηση χρόνου. Θα πρέπει να σημειωθεί ότι κάθε σειρά πειραμάτων για συγκεκριμένο και fixed N, δηλαδή κάθε testcase, εκτελέστηκε δέκα φορές και από όλες αυτές τις περιπτώσεις κρατήσαμε το μέσο χρόνο εκτέλεσης. Τέλος, να επισημανθεί πως ο αριθμός του blocksize δεν είναι fixed, αλλά μεταβάλλεται ανάλογα με την είσοδο των σημείων που δίνει ο χρήστης. Συγκεκριμένα, στην μέγιστη τιμή της εισόδου, δηλαδή για 4096, το blocksize μεταβάλλεται και γίνεται ίσο με 512, ώστε να υπολογιστούν επαρκώς όλα τα σημεία του πίνακα. Σε όλες τις υπόλοιπες περιπτώσεις παραμένει ίσο με 256. Υστερα από αρκετές εκτελέσεις, παρατηρήσαμε ότι αυτή είναι η τιμή που δίνει τους καλύτερους χρόνους. Ν Serial With DT Without DT
8 4.1 Διαγράμματα Εξαιτίας του γεγονότος των δύο χρόνων (του With DT και Without DT) που είναι πολύ κοντά μεταξύ τους και ταυτόχρονα πολύ κοντά στο 0, τα διαγράμματα προσφέρονται απλώς ως κάτι ενδεικτικό κι όχι απαραίτητα ακριβές. Για την απόλυτη ακρίβεια σε χρόνους για όλες τις πιθανείς τιμές, παρακαλώ να ανατρέξετε στον ειδικό πίνακα που έχουμε δημιουργήσει στο τέλος της προηγούμενης υποενότητας. Συγκεντρωτικό διάγραμμα Στο συγκεκριμένο διάγραμμα, παρουσιάζονται οι χρόνοι και για τις τρεις συνολικά περιπτώσεις. Ωστόσο, όπως θα έχετε παρατηρήσει και από τον προηγούμενο πίνακα, επειδή η ταχύτητα του σειριακού αυξάνεται εκθετικά ενώ του παράλληλου παραμένει σε χαμηλά επίπεδα, δεν είναι ευκρινή τα διαγράμματα των παράλληλων εκδοχών, μιας και τείνουν σχεδόν στο μηδέν. Αναλυτικά και μόνα τους τα δύο παράλληλα παραδείγματα παρουσιάζονται στο επόμενο διάγραμμα. 700 Experimental Results t(sec) Vertices(N) 8
9 Par allhla & Dianemhm ena Διάγραμμα παραλλήλων Οπως αναφέρθηκε, για να παρουσιαστούν καλύτερα διαγραμματικά οι επιδόσεις των παράλληλων για τις διάφορες τιμές του N, απομονώθηκαν και παρουσιάζονται εδώ μόνα τους. Προφανώς, το πιο γρήγορο εκτελέσιμο είναι αυτό στο οποίο δεν προσμετράται ο χρόνος αποστολής και λήψης δεδομένων από και προς την CPU αντίστοιχα. 7 Experimental Results 6 5 t(sec) Vertices(N) 5 Επίλογος Φτάνοντας στο τέλος, ελπίζουμε να καλύψαμε τις βασικές πτυχές της παραλληλοποίησης και να έγινε κατανοητό μέσα από τα γραφόμενά μας τόσο το multithreading, όσο και η βαθύτερη κατανόηση του All Pairs Shortest Path Algorithm. Ολα τα σχήματα έγιναν εξ ολοκλήρου στο GIMP, ενώ τα διαγράμματα στο matlab. Η υλοποίηση του κώδικα έγινε ύστερα από στενή συνεργασία και έπειτα από αρκετές συναντήσεις, προβληματισμούς και ανταλλαγή απόψεων μεταξύ των δύο φοιτητών. Ευχαριστούμε πολύ για την ανάγνωση... Κυπριώτη Αικατερίνη Μόσχογλου Στυλιανός 9
10 6 Βιβλιογραφία [1] Rob Farber. Application Design and Development. Elsevier, [2] Jason Sanders and Edward Kandrot. by example. Addison-Wesley, [3] Wei-Lung Dustin Tseng. All-pairs shortest path algorithms. Cornell University, CS Department,
first block of queries p-th block of queries p
Εργασία 1η Παράλληλα & Διανεμημένα Συστήματα Μόσχογλου Στυλιανός 6978 Αριστοτέλης Μικρόπουλος 6977 28 Νοεμβρίου 2011 Περιεχόμενα 1 Πρόλογος 2 2 Ο σειριακός k nearest neighbor algorithm 2 2.1 Η λειτουργία
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Συστήματα Παράλληλης
Παρουσίαση 2 ης Άσκησης:
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παρουσίαση 2 ης Άσκησης: Ανάπτυξη παράλληλου κώδικα και μελέτη επίδοσης του αλγόριθμου
FORTRAN και Αντικειμενοστραφής Προγραμματισμός
FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών
Παρουσίαση 1 ης Άσκησης:
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παρουσίαση 1 ης Άσκησης: Ανάπτυξη παράλληλου κώδικα σε πολυπύρηνες αρχιτεκτονικές κοινής
ΣΥΣΤΗΜΑΤΑ ΠΑΡΑΛΛΗΛΗΣ ΕΠΕΞΕΡΓΑΣΙΑΣ 9o εξάμηνο ΗΜΜΥ, ακαδημαϊκό έτος
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΞΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr ΣΥΣΤΗΜΑΤΑ
Προβλήματα, αλγόριθμοι, ψευδοκώδικας
Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Διπλωματικές
Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια
Graph Algorithms Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια Περιεχόμενα Μεταβατικό Κλείσιμο Συνεκτικές συνιστώσες Συντομότερα μονοπάτια Breadth First Spanning
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1
Αλγόριθμοι Δυναμικός Προγραμματισμός http://delab.csd.auth.gr/courses/algorithms/ Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Δυναμικός προγραμματισμός Ο Δυναμικός Προγραμματισμός προτάθηκε από τον
DS - Pacman. 2.1 Η calculatenextpacmanposition... 3
Εργασία 2η Δομές Δεδομένων Αντωνιάδης Ιωάννης 7137 Μόσχογλου Στυλιανός 6978 23 Δεκεμβρίου 2011 Περιεχόμενα 1 Πρόλογος 3 2 Η γενική αλγοριθμική ιδέα 3 2.1 Η calculatenextpacmanposition............... 3
Παράλληλη Επεξεργασία
Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στα Πολυεπεξεργαστικά Συστήματα Διερασίες και Νήματα σε Πολυεπεξεργαστικά Συστήματα Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed
Προγραµµατισµός Η/Υ. Μέρος2
Προγραµµατισµός Η/Υ Μέρος2 Περιεχόμενα Επανάληψη Βασικών Σύμβολων Διαγραμμάτων Ροής Αλγόριθμος Ψευδοκώδικας Παραδείγματα Αλγορίθμων Γλώσσες προγραμματισμού 2 Επανάληψη Βασικών Σύμβολων Διαγραμμάτων Ροής
Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1
Σχεδίαση Αλγορίθμων Δυναμικός Προγραμματισμός http://delab.csd.auth.gr/~gounaris/courses/ad Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Δυναμικός προγραμματισμός Ο Δυναμικός Προγραμματισμός
Alternative to Balanced Trees, Comms of the ACM, 33(6), June 1990,
ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τμήμα Πληροφορικής & Τηλεπικοινωνιών Μια σημείωση από τον Α. Δελή για το άρθρο: W. Pugh, Skip Lists: A Probabilistic Alternative to Balanced Trees, Comms of the ACM, 33(), June 10,
K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων
K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Η έννοια του συνδυαστικού
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 4ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΟΙ ΤΕΛΕΣΤΕΣ ΣΥΓΚΡΙΣΗΣ Με τους τελεστές σύγκρισης, συγκρίνουμε τις
Αναγνώριση Προτύπων Εργασία 1η Classification
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Αναγνώριση Προτύπων Εργασία 1η Classification Κιντσάκης Αθανάσιος 6667 Μόσχογλου Στυλιανός 6978 30 Νοεμβρίου,
Θέματα Εφαρμογών Βάσεων Δεδομένων: Ιδιωτικότητα Δεδομένων
Θέματα Εφαρμογών Βάσεων Δεδομένων: Ιδιωτικότητα Δεδομένων 3. Δυναμικός Προγραμματισμός Ζαγορίσιος Παναγώτης Παπαοικονόμου Χριστίνα Δυναμικός Προγραμματισμός Μέθοδος επίλυσης σύνθετων προβλημάτων. Όπως
Αρχιτεκτονική Μνήμης
ΕΣ 08 Επεξεργαστές Ψηφιακών Σημάτων Αρχιτεκτονική Μνήμης Τμήμα Επιστήμη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήμιο Πελοποννήσου Βιβλιογραφία Ενότητας Kuo [2005]: Chapters 3 & 4 Lapsley [2002]: Chapter
Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός;
Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός; Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg Αρετή
Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1
Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1 Ποιες γλώσσες αναφέρονται ως φυσικές και ποιες ως τεχνητές; Ως φυσικές γλώσσες αναφέρονται εκείνες οι οποίες χρησιμοποιούνται για την επικοινωνία μεταξύ ανθρώπων,
Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 4: Δομές Ελέγχου Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν εκπαιδευτικό
ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών
44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.
Κατανεμημένα Συστήματα Ι
Κατανεμημένα Συστήματα Ι Παναγιώτα Παναγοπούλου 11η Διάλεξη 12 Ιανουαρίου 2017 1 Ανεξάρτητο σύνολο Δοθέντος ενός μη κατευθυνόμενου γραφήματος G = (V, E), ένα ανεξάρτητο σύνολο (independent set) είναι ένα
Οι εντολές ελέγχου της ροής ενός προγράμματος.
Κεφάλαιο ΙΙI: Οι εντολές ελέγχου της ροής ενός προγράμματος 31 Εντολές ελέγχου της ροής Στο παρόν κεφάλαιο ασχολούμαστε με την σύνταξη των εντολών της C οι οποίες εισάγουν λογική και ελέγχουν την ροή εκτέλεσης
Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)
Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου
Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων
Κ Σ Ι Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων Παναγιώτα Παναγοπούλου Άσκηση 1. Υποθέστε ότι οι διεργασίες ενός σύγχρονου κατανεμημένου συστήματος έχουν μοναδικές ταυτότητες (UIDs), γνωρίζουν ότι είναι συνδεδεμένες
ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων
ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο
Εντολές επιλογής Επαναλήψεις (if, switch, while)
Εντολές επιλογής Επαναλήψεις (if, switch, while) Οι σημειώσεις αυτές έχουν σαν στόχο την μάθηση εντολών επιλογής (if, switch, while) που ελέγχουν τη ροή εκτέλεσης ενός προγράμματος. Πρώτα όμως, είναι αναγκαίο
Λειτουργικά Συστήματα Η/Υ
Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 4 «Αρχιτεκτονικές ΛΣ» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 1. Μονολιθικά συστήματα Αρχιτεκτονικές ΛΣ 2. Στρωματοποιημένη αρχιτεκτονική 3. Αρχιτεκτονική
Εισαγωγή στην Πληροφορική
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά
Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα
Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Βήματα προς τη δημιουργία εκτελέσιμου κώδικα Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Βήματα προς τη δημιουργία εκτελέσιμου κώδικα
Μεταγλωττιστές Βελτιστοποίηση
Μεταγλωττιστές Βελτιστοποίηση Νίκος Παπασπύρου nickie@softlab.ntua.gr Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχ. Υπολογιστών Εργαστήριο Τεχνολογίας Λογισμικού Πολυτεχνειούπολη, 15780
Διαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 6 η Βρόχοι Επανάληψης Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή
Αρχιτεκτονική Μνήµης
ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Αρχιτεκτονική Μνήµης Τµήµα Επιστήµη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήµιο Πελοποννήσου Βιβλιογραφία Ενότητας Kuo [2005]: Chapters 3 & 4 Lapsley [2002]: Chapter
Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση
Εργαστηριακή Άσκηση Οι Αλγόριθμοι Χρονοπρογραμματισμού First Come First Serve (FCFS), Shortest Job First (SJF), Round Robin (RR), Priority Weighted (PRI) Επιμέλεια: Βασίλης Τσακανίκας Περιεχόμενα Αλγόριθμοι
ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ
ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ Μ. Γρηγοριάδου Ρ. Γόγουλου Ενότητα: Η Διδασκαλία του Προγραμματισμού Περιεχόμενα Παρουσίασης
HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems
HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems Ημερομηνία Παράδοσης: 0/1/017 την ώρα του μαθήματος ή με email: mkarabin@csd.uoc.gr Γενικές Οδηγίες α) Επιτρέπεται η αναζήτηση στο Internet και στην βιβλιοθήκη
Παράλληλη Επεξεργασία
Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στο OpenMP Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed Systems Group Τι είναι το OpenMP Πρότυπο Επέκταση στη C/C++ και τη Fortran
Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής
Προγραμματισμός Η/Υ Προτεινόμενα θέματα εξετάσεων Εργαστήριο Μέρος 1 ό ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Ιανουάριος 2011 Καλογιάννης Γρηγόριος Επιστημονικός/ Εργαστηριακός
Κεφάλαιο 2.4 Matrix Algorithms
Κεφάλαιο 2.4 Matrix Algorithms Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βασιλική Κατασκευή ΝxNxN Mesh of trees (1/3) Στον ΝxNxN κύβο προσθέτω τους εξής κόμβους:
Επεξεργασία Ερωτήσεων
Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων
Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).
Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται
Προγραμματισμός Συστημάτων Υψηλών Επιδόσεων (ΗΥ421) Εργασία Εξαμήνου
Προγραμματισμός Συστημάτων Υψηλών Επιδόσεων (ΗΥ421) Εργασία Εξαμήνου ΟΜΑΔΑ: Ιωαννίδης Σταύρος ΑΕΜ: 755 Ντελής Γιώργος ΑΕΜ: 726 Επιλογή της Εργασίας Για την εργασία μας επιλέξαμε την βελτιστοποίηση της
ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΑΠΟΙΚΙΑΣ ΜΥΡΜΗΓΚΙΩΝ ANT COLONY OPTIMIZATION METHODS
ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΑΠΟΙΚΙΑΣ ΜΥΡΜΗΓΚΙΩΝ ANT COLONY OPTIMIZATION METHODS Χρήστος Δ. Ταραντίλης Αν. Καθηγητής ΟΠΑ ACO ΑΛΓΟΡΙΘΜΟΙ Η ΛΟΓΙΚΗ ΑΝΑΖΗΤΗΣΗΣ ΛΥΣΕΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΙΑΤΑΞΗΣ (1/3) Ε..Ε. ΙΙ Oι ACO
ΕΡΓΑΣΙΑ ΣΤΟ ΜΑΘΗΜΑ Λ03Β ΑΛΓΟΡΙΘΜΟΙ ΔΙΚΤΥΩΝ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ ΦΛΕΒΑΡΗΣ 2004
ΕΡΓΑΣΙΑ ΣΤΟ ΜΑΘΗΜΑ Λ03Β ΑΛΓΟΡΙΘΜΟΙ ΔΙΚΤΥΩΝ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ ΦΛΕΒΑΡΗΣ 2004 Παρουσίαση του paper: Increasing the Weight of Minimum Spanning Trees Greg N. Frederickson and Roberto Solis- Oba Journal of Algorithms
HY118-Διακριτά Μαθηματικά
HY118-Διακριτά Μαθηματικά Παρασκευή, 16/03/2018 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter, από το University of Aberdeen 17-Mar-18
Επεξεργασία Ερωτήσεων
Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική
Λειτουργικά Συστήματα Η/Υ
Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 7 «Διαχείριση Μνήμης» Διδάσκων: Δ. Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Κύρια Μνήμη 1. Εισαγωγή 2. Βασική διαχείριση μνήμης 3. Μνήμη και πολυπρογραμματισμός 4. Τμηματοποίηση
Ψευδοκώδικας. November 7, 2011
Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε
Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά
Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Ηλ. Γκρίνιας Τ. Ε. Ι. Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Αλγόριθμοι Ορισμός: ο αλγόριθμος είναι μια σειρά από πεπερασμένα βήματα που καθορίζουν
Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007
Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Πρόβλημα 1 Το πρώτο πρόβλημα λύνεται με τη μέθοδο του Δυναμικού Προγραμματισμού. Για να το λύσουμε με Δυναμικό Προγραμματισμό
Διάλεξη 5η: Εντολές Επανάληψης
Διάλεξη 5η: Εντολές Επανάληψης Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Εντολές Επανάληψης CS100, 2015-2016
Ε-85: Ειδικά Θέµατα Λογισµικού
Ε-85: Ειδικά Θέµατα Λογισµικού Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων Χειµερινό Εξάµηνο 2009-10 «ιεργασίες και Νήµατα» Παναγιώτης Χατζηδούκας (Π.Δ. 407/80) E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων
Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών
Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών Η επεξεργασία των δεδομένων ακολουθεί μια στερεότυπη διαδρομή: τα δεδομένα εισάγονται στο υπολογιστικό σύστημα, υφίστανται μια ορισμένη επεξεργασία και
ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ
ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ ΜΕΤΡΑ ΑΠΟ ΟΣΗΣ & ΕΞΙΣΟΡΡΟΠΗΣΗ ΦΟΡΤΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΨΗΛΩΝ ΕΠΙ ΟΣΕΩΝ ΒΑΘΜΟΣ ΠΑΡΑΛΛΗΛΙΣΜΟΥ Η υλοποίηση
Προγραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 1: Εισαγωγή στη C - Αλγόριθμοι Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ «ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ»
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ «ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ» ΗΜΕΡ.ΑΝΑΘΕΣΗΣ: Δευτέρα 21 Δεκεμβρίου 2015 ΗΜΕΡ.ΠΑΡΑΔΟΣΗΣ: Δευτέρα 25 Ιανουαρίου 2016 Διδάσκοντες:
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Καθηγητής Πληροφορικής ΠΕ19 1 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 6 ο : ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΙΣΤΟΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ: http://eclass.sch.gr/courses/el594100/ Η έννοια του προγράμματος
µέθοδοι υποβιβασµού τάξης µοντέλου σε κυκλώµατα µε µεγάλο αριθµο θυρών
µέθοδοι υποβιβασµού τάξης µοντέλου σε κυκλώµατα µε µεγάλο αριθµο θυρών Διπλωματική εργασία Χατζηγεωργίου Χρυσόστομος Επιβλέποντες καθηγητές: Νέστορας Ευμορφόπουλος, Γεώργιος Σταμούλης 30 Σεπτεμβρίου 2015
Κατανεμημένα Συστήματα
Κατανεμημένα Συστήματα Σημειώσεις εργαστηρίου Lab#7 - Διεργασίες, Nήματα, Πολυνημάτωση στη Python Νεβράντζας Βάιος-Γερμανός Λάρισα, Φεβρουάριος 2013 Lab#7 - Διεργασιές, Νη ματα, Πολυνημα τωση στη Python,
Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι
Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού
Μάθημα 3: Αρχιτεκτονική Υπολογιστών
Μάθημα 3: Αρχιτεκτονική Υπολογιστών 3.1 Περιφερειακές μονάδες και τμήμα επεξεργασίας Στην καθημερινή μας ζωή ερχόμαστε συνέχεια σε επαφή με υπολογιστές. Ο υπολογιστής είναι μια συσκευή που επεξεργάζεται
3 η ΑΣΚΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ntua.gr 3 η ΑΣΚΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ
for for for for( . */
Εισαγωγή Στον Προγραµµατισµό «C» Βρόχοι Επανάληψης Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Ο βρόχος for Η εντολή for χρησιµοποιείται
QuakeTM: Parallelizing a Complex Sequential Application Using Transactional Memory (Gajinov et al., 2009)
Quake I QuakeTM: Parallelizing a Complex Sequential Application Using Transactional Memory (Gajinov et al., 2009) Είναι όντως χρήσιμη η transactional memory σε μεγάλες εφαρμογές; Παράλληλη υλοποίηση μιας
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 5ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 Η ΕΝΤΟΛΗ for Με την εντολή for δημιουργούμε βρόχους επανάληψης σε
Προγραμματισμός Συστημάτων Υψηλών Επιδόσεων (ΗΥ421) 3η Εργαστηριακή Άσκηση
Προγραμματισμός Συστημάτων Υψηλών Επιδόσεων (ΗΥ421) 3η Εργαστηριακή Άσκηση ΟΝΟΜΑ: Ιωαννίδης Σταύρος ΑΕΜ: 755 Αποτελέσματα devicequery Profiling με το Vtune Το profiling έδειξε πως οι πιο αργές συναρτήσεις
ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ
ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ "ΤΕΧΝΟΛΟΓΙΑ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ" ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΥΛΟΠΟΙΗΣΗ
Προγραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις
ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών Συναρτήσεις 60 Ροή ελέγχου Είναι η σειρά µε την οποία εκτελούνται οι εντολές. Μέχρι τώρα, «σειριακή»,
ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 8: Δυναμικός Προγραμματισμός. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΛΓΟΡΙΘΜΟΙ Ενότητα 8: Δυναμικός Προγραμματισμός Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Άδειες Χρήσης
Αλγόριθμοι και πολυπλοκότητα Δυναμικός Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Δυναμικός Προγραμματισμός Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Δυναμικός Προγραμματισμός Δυναμικός Προγραμματισμός 1 Περίληψη
Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης
Μάθημα 7 ο Αλγόριθμοι Χρονοδρομολόγησης Σκοπός του μαθήματος Στην ενότητα αυτή θα εξηγήσουμε το ρόλο και την αξιολόγηση των αλγορίθμων χρονοδρομολόγησης, και θα παρουσιάσουμε τους κυριότερους. Θα μάθουμε:
Παρουσίαση 2 ης Άσκησης:
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παρουσίαση 2 ης Άσκησης: Ανάπτυξη παράλληλου κώδικα και μελέτη της επίδοσης του αλγορίθμου
Διάλεξη 17: Συμφωνία με Βυζαντινά Σφάλματα. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι
Διάλεξη 17: Συμφωνία με Βυζαντινά Σφάλματα ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Βυζαντινά Σφάλματα Τι θα δούμε σήμερα Κάτω Φράγμα για Αλγόριθμους Συμφωνίας με Βυζαντινά Σφάλματα: n > 3f Αλγόριθμος Συμφωνίας
Λειτουργικά Συστήματα (Λ/Σ)
Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Μνήμης Βασίλης Σακκάς 6/12/2013 1 Διαχείριση Μνήμης 1 Το τμήμα του Λ/Σ που διαχειρίζεται τη μνήμη λέγεται Διαχειριστής Μνήμης (Memory manager). Καθήκον του είναι
Εκλογή αρχηγού σε σύγχρονο δακτύλιο: Οι αλγόριθμοι LCR και HS. 1 Ο αλγόριθμος LCR (Le Lann, Chang, and Roberts)
Κ Σ Ι Εκλογή αρχηγού σε σύγχρονο δακτύλιο: Οι αλγόριθμοι LCR και HS Παναγιώτα Παναγοπούλου 1 Ο αλγόριθμος LCR (Le Lann, Chang, and Roberts) Ο αλγόριθμος LCR είναι ένας αλγόριθμος εκλογής αρχηγού σε ένα
Εισαγωγή στην πληροφορική
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Η γλώσσα προγραμματισμού
Παράλληλη Επεξεργασία Εργαστηριακή Ασκηση Εαρινού Εξαµήνου 2008
Παράλληλη Επεξεργασία Εργαστηριακή Ασκηση Εαρινού Εξαµήνου 2008 Αντικείµενο της εργαστηριακής άσκησης για το 2008 αποτελεί το πρόβληµα της εύρεσης της κατανοµής ϑερµότητας ενός αντικειµένου σε σταθερή
Λειτουργικά Συστήματα
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Λειτουργικά Συστήματα Ενότητα 4α: Σημαφόροι, Πρόβλημα Συνδαιτυμόνων Φιλοσόφων, Αδιέξοδα Αθηνά Βακάλη Άδειες Χρήσης Το παρόν εκπαιδευτικό
Μάθημα 8: Διαχείριση Μνήμης
Μάθημα 8: Διαχείριση Μνήμης 8.1 Κύρια και δευτερεύουσα μνήμη Κάθε μονάδα ενός υπολογιστή που χρησιμεύει για τη μόνιμη ή προσωρινή αποθήκευση δεδομένων ανήκει στην μνήμη (memory) του υπολογιστή. Οι μνήμες
Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού
Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων
Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις
Μηχανές Turing (T.M) I
Μηχανές Turing (T.M) I Οι βασικές λειτουργίες μιας TM είναι: Διάβασε το περιεχόμενο του τρέχοντος κυττάρου Γράψε 1 ή 0 στο τρέχον κύτταρο Κάνε τρέχον το αμέσως αριστερότερο ή το αμέσως δεξιότερο κύτταρο
Θεωρητικό Μέρος. int rec(int n) { int n1, n2; if (n <= 5) then return n; else { n1 = rec(n-5); n2 = rec(n-3); return (n1+n2); } }
Πανεπιστήµιο Ιωαννίνων, Τµήµα Πληροφορικής 2 Νοεµβρίου 2005 Η/Υ 432: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκού Έτους 2005-2006 Παναγιώτα Φατούρου Ηµεροµηνία Παράδοσης 1 ο Σετ Ασκήσεων Θεωρητικό Μέρος:
10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.
1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.
Κεφάλαιο 4ο: Δικτυωτή Ανάλυση
Κεφάλαιο ο: Δικτυωτή Ανάλυση. Εισαγωγή Η δικτυωτή ανάλυση έχει παίξει σημαντικό ρόλο στην Ηλεκτρολογία. Όμως, ορισμένες έννοιες και τεχνικές της δικτυωτής ανάλυσης είναι πολύ χρήσιμες και σε άλλες επιστήμες.
Αλγόριθμοι και πολυπλοκότητα Τα συντομότερα μονοπάτια(shortest Paths)
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Τα συντομότερα μονοπάτια(shortest Paths) Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Τα συντομότερα Μονοπάτια(Shortest Paths) A 2 7 2
Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ
ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ Βιβλιογραφία Ενότητας Kehtarnavaz [2005]: Chapter 3 Kuo [2005]: Chapters 1 & 4-5 Lapsley [2002]: Chapter 4 Hayes [2000]: Κεφάλαιo 8
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης 1 Μεταγλωττιστής Πρόγραμμα Διαβάζει προγράμματα δεδομένης γλώσσας (πηγαία γλώσσα) και τα μετατρέπει
Εισαγωγή στην Πληροφορική
αρ χή Εισαγωγή στην Πληροφορική Σημειώσεις Παράρτημα 1 Οδηγός μελέτης για τις εξετάσεις 12/1/2017 μπορεί να συμπληρωθεί τις επόμενες μέρες Μάριος Μάντακας Τμήμα Μηχανικών Πληροφορικής Τ.Ε. ΤΕΙ Ηπείρου
ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 4
ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 4 Σημειώσεις βασισμένες στο βιβλίο Το MATLAB στην Υπολογιστική Επιστήμη και Τεχνολογία Μια Εισαγωγή ΣΥΝΑΡΤΗΣΕΙΣ Συνάρτηση ονομάζεται ένα τμήμα κώδικα (ή υποπρόγραμμα) το
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 3: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Εισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις
ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση
ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης
Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα Βάσεις
ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης
ΚΕΦΑΛΑΙΟ 1ο 3ο 1. Συμπληρώστε τα κενά με τη λέξη που λείπει. α. Ένα πρόβλημα το χωρίζουμε σε άλλα απλούστερα, όταν είναι ή όταν έχει τρόπο επίλυσης. β. Η επίλυση ενός προβλήματος προϋποθέτει την του. γ.
Προβλήματα ταυτόχρονης εκτέλεσης (για νήματα με κοινή μνήμη)
Προβλήματα ταυτόχρονης εκτέλεσης (για νήματα με κοινή μνήμη) ΙΙΙ 1 lalis@inf.uth.gr Ταυτόχρονη εκτέλεση Ο προγραμματιστής δεν ελέγχει (άμεσα) την εκτέλεση/εναλλαγή των νημάτων Δεν γνωρίζει πότε θα αρχίσει