Αντώνιος - Κορνήλιος Κούρτης

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

Download "Αντώνιος - Κορνήλιος Κούρτης"

Transcript

1 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ανάπτυξη Λογισμικού και Τεχνικών Συμπίεσης Δεδομένων για τη Βελτίωση της Επίδοσης Υπολογιστικών Εφαρμογών σε Παράλληλες Αρχιτεκτονικές Μοιραζόμενης Μνήμης ΔΙΔΑΚΤΟΡΙΚΗ ΔΙΑΤΡΙΒΗ Αντώνιος - Κορνήλιος Κούρτης Αθήνα, Απρίλιος 2010

2

3 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ανάπτυξη Λογισμικού και Τεχνικών Συμπίεσης Δεδομένων για τη Βελτίωση της Επίδοσης Υπολογιστικών Εφαρμογών σε Παράλληλες Αρχιτεκτονικές Μοιραζόμενης Μνήμης ΔΙΔΑΚΤΟΡΙΚΗ ΔΙΑΤΡΙΒΗ Αντώνιος - Κορνήλιος Ε. Κούρτης Συμβουλευτική Επιτροπή: Nεκτάριος Κοζύρης (επιβλέπων) Γεώργιος Παπακωνσταντίνου Παναγιώτης Τσανάκας Εγκρίθηκε από την επταμελή εξεταστική επιτροπή τη 16η Απριλίου 2010 Νεκτάριος Κοζύρης Αναπ. Καθηγητής Ε.Μ.Π. Γεώργιος Παπακωνσταντίνου Ομότιμος Καθηγητής Ε.Μ.Π. Παναγιώτης Τσανάκας Καθηγητής Ε.Μ.Π. Κωνσταντίνος Σαγώνας Αναπ. Καθηγητής Ε.Μ.Π. Ανδρέας Μπουντουβής Καθηγητής Ε.Μ.Π. Δημήτριος Γκιζόπουλος Αναπ. Καθηγητής Πα.Πει. Δημήτριος Νικολόπουλος Αναπ. Καθηγητής Πανεπιστημίου Κρήτης Αθήνα, Απρίλιος 2010

4 Αντώνιος - Κορνήλιος Ε. Κούρτης Η παρούσα διατριβή χρηματοδοτήθηκε από το έργο ΠΕΝΕΔ 2003, που υλοποιείται στο πλαίσιο του Μέτρου 8.3 του Ε.Π. Ανταγωνιστικότητα Γ Κοινοτικό Πλαίσιο Στήριξης και συγχρηματοδοτείται κατά: 80% της Δημόσιας Δαπάνης από την Ευρωπαϊκή Ένωση - Ευρωπαϊκό Κοινωνικό Ταμείο, 20% της Δημόσιας Δαπάνης από το Ελληνικό Δημόσιο - Υπουργείο Ανάπτυξης - Γενική Γραμματεία Έρευνας και Τεχνολογίας. Copyright Αντώνιος - Κορνήλιος Ε. Κούρτης, 2010 Με επιφύλαξη παντός δικαιώματος. All rights reserved. Απαγορεύεται η αντιγραφή, αποθήκευση και διανομή της παρούσας εργασίας, εξ ολοκλήρου ή τμήματος αυτής, για εμπορικό σκοπό. Επιτρέπεται η ανατύπωση, αποθήκευση και διανομή για σκοπό μη κερδοσκοπικό, εκπαιδευτικής ή ερευνητικής φύσης, υπό την προϋπόθεση να αναφέρεται η πηγή προέλευσης και να διατηρείται το παρόν μήνυμα. Ερωτήματα που αφορούν τη χρήση της εργασίας για κερδοσκοπικό σκοπό πρέπει να απευθύνονται προς τον συγγραφέα. Οι απόψεις και τα συμπεράσματα που περιέχονται σε αυτό το έγγραφο εκφράζουν το συγγραφέα και δεν πρέπει να ερμηνευθεί ότι αντιπροσωπεύουν τις επίσημες θέσεις του Εθνικού Μετσόβιου Πολυτεχνείου.

5 Contents Abstract 1 Ευχαριστίες 3 Περίληψη Εισαγωγή Υπόβαθρο Αραιοί πίνακες Σχήματα αποθήκευσης αραιών πινάκων Πολλαπλασιασμός αραιού πίνακα με διάνυσμα Το σχήμα αποθήκευσης CSR-DU Το σχήμα αποθήκευσης CSR-VI Το σχήμα αποθήκευσης CSX Σχετικές εργασίες Συμπεράσματα και μελλοντικές κατευθύνσεις Introduction Contribution Outline Background and key ideas Shared memory systems Application scaling on shared memory systems Compression for optimizing multithreaded applications Case study: bitmap indices Conclusions Sparse Matrices and Sparse Matrix-Vector Multiplication Sparse Matrices v

6 3.2 e sparse matrix-vector multiplication operation Sparse storage formats Conclusions Sparse Matrix-Vector Multiplication performance SpMxV algorithm CSR SpMxV implementation Multithreaded SpMxV SpMxV performance Experimental evaluation Related work Column Index compression using Delta Encoding Motivation and general approach e CSR-DU storage format Performance evaluation Related work Value compression using Indirect Accesses Motivation and general approach e CSR-VI storage format Combining CSR-DU and CSR-VI Performance evaluation Related work Enriched Matrix Structure Exploitation Motivation and general approach CSX substructures CSX matrix construction Restrictions and extensions Experimental evaluation Conclusions and future work 149

7 Bibliography 150 A Implementation Details 159 A.1 Blocked version of matrix multiplication A.2 Memory throughput benchmark A.3 Memcomp benchmark

8

9 Abstract is dissertation deals with data volume reduction techniques that aim to improve the performance of memory-bandwidth starving applications. Although our methods can be successfully applied to serial execution [KGK08], we concentrate on parallel shared-memory architectures where memory bandwidth is scarce, but (pure) computation power plentiful. Our proposed techniques aim at decreasing the non-scalable part of execution time (memory access), at the cost of additional computation overhead. We argue that, since the additional cost is scalable, it will be mitigated as core count increases. We focus on the application domain of sparse computations. We show that the performance of the sparse matrix-vector multiplication (SpMxV) an important and ubiquitous scientific kernel on shared memory systems is restrained by the severe lack of available memory bandwidth. To decrease memory contention and improve kernel performance we propose two compression schemes: CSR-DU, that targets the reduction of the matrix structural data by applying coarsegrained delta-encoding, and CSR-VI, that targets the reduction of the values using indirect indexing, applicable to matrices with a small number of unique values. orough experimental evaluation of the proposed methods and their combination, on two modern shared memory systems, demonstrated that they can significantly improve multithreaded SpMxV performance upon standard and state-of-the-art approaches. Motivated by the design of CSR-DU, we generalize our approach and propose a storage format, called CSX, that aims at sparse matrix structure exploitation by supporting arbitrary compression schemes. We describe a first implementation, based on delta run-length encoding, that focuses on generality and neatness. Although our work is still under way, initial experimentation shows promising results especially for matrices that are unable to benefit from CSR-DU. 1

10

11 Ευχαριστίες Η παρούσα διατριβή εκπονήθηκε στο Εργαστήριο Υπολογιστικών Συστημάτων του Εθνικού Μετσόβιου Πολυτεχνείου. Στο συγκεκριμένο χώρο είχα την ευκαιρία να έρθω σε επαφή με ανθρώπους και ιδέες που είχαν καθοριστικό ρόλο στην εξέλιξή μου ως ερευνητή, αλλά και γενικότερα ως άνθρωπο. Θα ήθελα, επομένως, να εκφράσω τις ευχαριστίες μου σε όλους αυτούς που συνέβαλαν στη δημιουργία ενός γόνιμου κλίματος στο εν λόγω εργαστήριο. Αρχικά, θα ήθελα να ευχαριστήσω τον επιβλέποντα καθηγητή της διατριβής, Ν. Κοζύρη για την πολυεπίπεδη στήριξη που μου παρείχε, αλλά και για την εμπιστοσύνη και την πίστη που έδειξε στο πρόσωπό μου. Επιπρόσθετα, θα ήθελα να ευχαριστήσω τα υπόλοιπα μέλη της συμβουλευτικής μου επιτροπής, τους καθηγητές Γ. Παπακωνσταντίνου και Π. Τσανάκα, καθώς και τον καθηγητή Κ. Σαγώνα, η αφοσίωση του οποίου στα μεταπτυχιακά του μαθήματα με βοήθησε να έρθω σε επαφή με νέες ερευνητικές περιοχές. Θα ήθελα, επίσης, να ευχαριστήσω εμφατικά τον Γ. Γκούμα για την καθοδήγηση, την υπομονή και την προθυμία του κατά τη συνεργασία μας. Η συμβολή του στη διατριβή ήταν καθοριστική. Ευχαριστώ ιδιαιτέρως τον Γ. Τσουκαλά, κυρίως για την επιμονή του να αναζητά την ουσία, τους Α. Σωτηρόπουλο, Β. Κούκη, Α. Χαζάπη, Γ. Βεριγάκη, Α. Ζίσιμο, Γ. Αναστόπουλο και Β. Καρακάση, καθώς και όλα τα νέα και παλιά μέλη του εργαστηρίου για τη δημιουργική συνεργασία και το φιλικό καθημερινό περιβάλλον που μου προσέφεραν. 3

12

13 0.1 Εισαγωγή Ο νόμος του Moore περιγράφει μία τάση της τεχνολογίας επεξεργαστών, σύμφωνα με την οποία ο αριθμός των τρανζίστορ που μπορούν να τοποθετηθούν σε ένα ολοκληρωμένο κύκλωμα διπλασιάζεται κάθε δύο χρόνια. Μέχρι πρόσφατα, ήταν εφικτή η εκμετάλλευση της τάσης αυτής για τη βελτίωση της σειριακής εκτέλεσης εφαρμογών χρησιμοποιώντας τεχνικές που στοχεύουν στην αξιοποίηση της παραλληλίας επιπέδου εντολών (instruction-level parallelism ILP). Ωστόσο, τα τελευταία χρόνια η πρακτική αυτή δεν μπορεί να εξασφαλίσει τη βελτίωση της επίδοσης των επεξεργαστών, εξαιτίας προβλημάτων όπως η μεγάλη κατανάλωση ενέργειας. Αν και υπήρξαν κάποιες ερευνητικές προσπάθειες που αποσκοπούσαν στη βελτίωση της σειριακής επίδοσης [CSC + 05], φαίνεται να έχει επικρατήσει η άποψη ότι η προσέγγιση αυτή είναι αδιέξοδη. Αντίθετα, η τεχνική της ενσωμάτωσης πολλαπλών υπολογιστικών πυρήνων (cores) στον επεξεργαστή θεωρείται η μόνη λύση, ώστε οι εφαρμογές να συνεχίσουν να επωφελούνται από το νόμο του Moore. Οι επεξεργαστές αυτοί ονομάζονται επεξεργαστές πολλαπλών πυρήνων (multicores, chip multiprocessors CMP) [ONH + 96] και αποτελούν πλέον τη νόρμα στη σχεδίαση επεξεργαστών [PDG06, Gee05]. Οι επεξεργαστές CMP λύνουν τα προβλήματα των επεξεργαστών προηγούμενης γενιάς έχοντας απλούστερη σχεδίαση και στοχεύοντας στην αξιοποίηση της παραλληλίας επιπέδου νημάτων (thread-level parallelism TLP) και όχι επιπέδου εντολών. Ωστόσο, αυτή η αλλαγή στη σχεδίαση επεξεργαστών έφερε σημαντική αναταραχή στον κόσμο του λογισμικού. Πριν από την καθιέρωση των επεξεργαστών CMP, οι εφαρμογές, στη συντριπτική τους πλειοψηφία σειριακές, εκμεταλλεύονταν τις δυνατότητες των νέων επεξεργαστών χωρίς να απαιτούνται αλλαγές στον κώδικά τους. Καθώς οι πολυπύρηνοι επεξεργαστές καθιερώνονται, οι προγραμματιστές θα πρέπει να εγκαταλείψουν το σειριακό προγραμματισμό και να ενσωματώσουν τεχνικές παραλληλισμού στις εφαρμογές τους. Υπάρχουν δύο βασικά ζητήματα που πρέπει να ληφθούν υπόψη κατά τη μετάβαση στο πολύεπεξεργαστικό μοντέλο: η δυνατότητα προγραμματισμού (programmability) και η επίδοση. Σε αυτή τη διατριβή ασχολούμαστε με θέματα επίδοσης. Συγκεκριμένα, η παρούσα εργασία στοχεύει στη βελτίωση της επίδοσης εφαρμογών με έντονες προσβάσεις στη μνήμη. Οι εφαρμογές αυτές συνήθως διέπονται από δύο χαρακτηριστικά: (α) υψηλό ρυθμό προσβάσεων στη μνήμη σε σχέση με πράξεις υπολογισμού και (β) περιορισμένη χρονική τοπικότητα αναφορών (temporal locality). Οι εφαρμογές με έντονες προσβάσεις στη μνήμη, ακόμα και αν η παραλληλοποίησή τους δεν περιλαμβάνει επιπλέον κόστος, αναμένεται να έχουν χαμηλή επίδοση σε πολύ-επεξεργαστικά συστήματα μοιραζόμενης μνήμης. Η αιτία της χαμηλής επίδοσης είναι η αδυναμία των περισσοτέρων συστημάτων να διατηρήσουν υψηλό ρυθμό μεταφοράς δεδομένων κατά την ταυτόχρονη πρόσβαση πολλαπλών επεξεργαστικών μονάδων στην κύρια μνήμη. Στην περίπτωση αυτή, οι καθυστερήσεις που προκύπτουν περιορίζουν την επίδοση, ιδιαίτερα εάν οι αναφορές στη μνήμη είναι αναγνώσεις, από τις οποίες εξαρτώνται μελλοντικές εντολές. Επικεντρωνόμαστε σε υπολογισμούς αραιών πινάκων (sparse computations). Οι υπολογισμοί αραιών πινάκων συναντώνται σε πληθώρα επιστημονικών εφαρμογών (π.χ. στην επίλυση μερικών διαφορικών εξισώσεων ΜΔΕ) και αφορούν πίνακες που περιέχουν μεγάλο αριθμό μηδενικών στοιχείων. Συγκεκριμένα, στοχεύουμε στη βελτίωση της επίδοσης του υπολογιστι- 5

14 κού πυρήνα πολλαπλασιασμού αραιού πίνακα με διάνυσμα (sparse matrix-vector multiplication SpMxV). Ο συγκεκριμένος πυρήνας, αν και απλός, παρουσιάζει χαμηλή επίδοση και έχει αποτελέσει αντικείμενο πολλών ερευνητικών εργασιών [AGZ92, TJ92, CA96, Tol97, WS97, PH99, IY99,Im00,GR99,IY01,VDY + 02,Vud03,MCG04,PHCR04,PHCR05,BELF07,VM05,KHK + 05, WL06, WOV + 09, Wil08, BBR09, KGK09b, KGK09a]. Η παρούσα εργασία διερευνά τη χρήση τεχνικών συμπίεσης δεδομένων με στόχο τη βελτίωση του χρόνου εκτέλεσης εφαρμογών με έντονες προσβάσεις στη μνήμη. Η βασική διαφορά από τις συνήθεις τεχνικές συμπίεσης είναι ότι δεν αρκεί η μείωση του όγκου των δεδομένων. Αντίθετα, για να μειωθεί ο χρόνος εκτέλεσης της εφαρμογής είναι απαραίτητη προϋπόθεση να υπερκεραστεί η όποια επιβάρυνση προκύψει από την αποσυμπίεση. Στη συνέχεια παρατίθεται μία σύνοψη της συνεισφοράς της παρούσας εργασίας: Διερευνούμε τη συμπίεση δεδομένων ως τεχνική για τη βελτίωση της επίδοσης υπολογιστικών εφαρμογών που χαρακτηρίζονται από έντονες προσβάσεις στη μνήμη. Σκιαγραφούμε τις προϋποθέσεις κάτω από τις οποίες μία τέτοια τεχνική βελτιστοποίησης θα είναι αποτελεσματική. Μελετούμε την επίδοση του υπολογιστικού πυρήνα SpMxV και καταλήγουμε ότι: (α) η επίδοσή του περιορίζεται από τον ανεπαρκή ρυθμό μεταφοράς δεδομένων από την κύρια μνήμη και (β) τηρεί τις απαραίτητες προϋποθέσεις ώστε η συμπίεση δεδομένων να έχει θετική επίδραση στην επίδοσή του. Προτείνουμε το σχήμα αποθήκευσης αραιών πινάκων CSR-DU. Το σχήμα CSR-DU στοχεύει στη συμπίεση των δεδομένων δομής του πίνακα χρησιμοποιώντας κωδικοποίηση δέλτα (delta encoding) και αξιοποιώντας συνεχόμενα στοιχεία. Βασιζόμενοι στην παρατήρηση ότι αρκετοί πίνακες περιέχουν σημαντικό αριθμό από κοινές αριθμητικές τιμές, προτείνουμε το σχήμα αποθήκευσης CSR-VI. Το σχήμα αυτό υλοποιεί συμπίεση των αριθμητικών τιμών του πίνακα χρησιμοποιώντας έμμεση δεικτοδότηση (indirect indexing). Επιπλέον, προτείνουμε το συνδυασμό των σχημάτων CSR-DU και CSR-VI σε νέο σχήμα που ονομάζεται CSR-DUVI. Τέλος, παρουσιάζουμε τα αποτελέσματα μίας πρώτης απόπειρας γιά τη δημιουργία ενός γενικευμένου σχήματος αποθήκευσης, το οποίο μπορεί να υποστηρίξει πολλαπλά σχήματα συμπίεσης. Ονομάζουμε το σχήμα αυτό CSX και περιγράφουμε μία αρχική υλοποίησή του βασισμένη σε κωδικοποίηση δέλτα και σε περιορισμό των επαναλαμβανόμενων τιμών (run-length encoding). Η συνέχεια της διατριβής έχει οργανωθεί ως εξής: στο 0.2, παρουσιάζουμε το απαραίτητο υπόβαθρο και τη γενική ιδέα της χρήσης τεχνικών συμπίεσης για τη βελτίωση της επίδοσης πολυνηματικών εφαρμογών. Τα 0.3 και 0.4, παρέχουν μια σύντομη επισκόπηση στο πεδίο των αραιών πινάκων, ενώ το 0.5 εξετάζει την επίδοση του πυρήνα SpMxV. Στο 0.6 παρουσιάζεται το σχήμα αποθήκευσης CSR-DU, στο 0.7 το CSR-VI και στο 0.8 το σχήμα CSX. Τέλος, το 0.9 συζητά σχετικές εργασίες και το 0.10 συνοψίζει τα συμπεράσματα της παρούσας εργασίας και παρουσιάζει μελλοντικές κατευθύνσεις. 6

15 0.2 Υπόβαθρο Συστήματα μοιραζόμενης μνήμης Τα συστήματα μοιραζόμενης μνήμης είναι μία οικογένεια παραλλήλων συστημάτων που περιλαμβάνουν πολλαπλούς επεξεργαστές, οι οποίοι μοιράζονται την κεντρική μνήμη του συστήματος. Μέχρι πρόσφατα, η πιο διαδεδομένη μορφή συστημάτων μοιραζόμενης μνήμης ήταν τα συστήματα SMP (symmetric multiprocessing). Τα συστήματα αυτά αποτελούνται από πολλαπλούς επεξεργαστές, οι οποίοι επικοινωνούν μέσω ενός δικτύου διασύνδεσης. Το δίκτυο αυτό είναι, συνήθως, ένας διάδρομος (Σχήμα 1a). cpu cpu cpu cpu $ $ $ $ memory bus Main memory Memory node Memory node (a) (b) Σχήμα 1: Συστήματα μοιραζόμενης μνήμης (a) Σύστημα SMP (b) Σύστημα NUMA Το βασικό μειονέκτημα της αρχιτεκτονικής SMP, σχετικά με την επίδοση, είναι ότι η μνήμη αποτελεί κοινό πόρο για όλους τους επεξεργαστές. Όταν οι επεξεργαστές προσπελάζουν ταυτόχρονα τη μνήμη, δημιουργείται συμφόρηση στον διάδρομο διότι οι αιτήσεις πρόσβασης σειριοποιούνται. Μια εναλλακτική αρχιτεκτονική που αντιμετωπίζει αυτό το πρόβλημα είναι η αρχιτεκτονική NUMA (Non-Uniform Memory Access). Στην αρχιτεκτονική NUMA, όπως φαίνεται στο Σχήμα 1b, η μνήμη κατανέμεται σε πολλαπλούς κόμβους (nodes), οι οποίοι συνδέονται με ένα επεκτάσιμο δίκτυο διασύνδεσης. Ο κάθε κόμβος NUMA είναι τοπικός σε ένα σύνολο επεξεργαστών και η τοπική πρόσβαση είναι, γενικά, υψηλότερης επίδοσης από την απομακρυσμένη πρόσβαση. Είναι σαφές ότι η αρχιτεκτονική αυτή αμβλύνει το πρόβλημα της ταυτόχρονης προσπέλασης στη κύρια μνήμη, αφού οι επεξεργαστές μπορούν να χρησιμοποιούν ταυτόχρονα διαφορετικούς κόμβους NUMA. Βέβαια, κάτι τέτοιο προϋποθέτει κατάλληλη τοποθέτηση των δεδομένων στους κόμβους, ώστε η πρόσβαση να είναι βελτιστοποιημένη. Η ευθύνη της κατάλληλης τοποθέτησης των δεδομένων δεν εναποτίθεται στο υλικό, αλλά στο λειτουργικό σύστημα ή στον προγραμματιστή. Τα συστήματα αυτά κατηγοριοποιούνται ως συστήματα μοιραζόμενης μνήμης γιατί προσφέρουν μία ενιαία και συναφή (coherent) εικόνα της μνήμης. Στις προηγούμενες παραγράφους αναφερθήκαμε σε σχήματα μοιραζόμενης μνήμης για πολλαπλούς επεξεργαστές. Οι επεξεργαστές αυτοί, ωστόσο, είναι πιθανό να είναι πολυπύρηνοι. Για παράδειγμα το Σχήμα 2 παρουσιάζει το διάγραμμα ενός επεξεργαστή με τέσσερις πυρήνες. Κάθε ένας από τους πυρήνες έχει τη δική του κρυφή μνήμη L1, ενώ οι πυρήνες μοιράζονται δύο κρυφές μνήμες L2 ανά ζεύγη. Ο επεξεργαστής μπορεί να συνδέεται απευθείας στην κεντρική μνήμη ή να 7

16 παρεμβάλλεται μία κρυφή μνήμης που βρίσκεται εκτός ολοκληρωμένου (off-chip cache). Προφανώς, οι πολυπύρηνοι επεξεργαστές επιδεινώνουν το πρόβλημα επίδοσης που δημιουργείται κατά την ταυτόχρονη πρόσβαση στη μνήμη. core core core core L1 L1 L1 L1 L2 L2 main memory (or off-chip cache) Σχήμα 2: Παράδειγμα πολυπύρηνου επεξεργαστή με τέσσερις πυρήνες Επεκτασιμότητα εφαρμογών σε συστήματα μοιραζόμενης μνήμης Όπως απεικονίζεται στο νόμο του Amdhal, η εφικτή επιτάχυνση (speeudp) της επίδοσης μίας εφαρμογής σε μία παράλληλη αρχιτεκτονική περιορίζεται από τα σειριακά μέρη του προγράμματος. Είναι πιθανό, ωστόσο, η υλοποίηση μίας παράλληλης αρχιτεκτονικής να αποτελέσει την αιτία για τη σειριοποίηση περιοχών του προγράμματος οι οποίες είναι, από την οπτική γωνία του προγραμματιστή, παράλληλες. Συγκεκριμένα, στις αρχιτεκτονικές μοιραζόμενης μνήμης η συμπεριφορά των εφαρμογών εξαρτάται σε μεγάλο βαθμό από το είδος των προσβάσεων που πραγματοποιούν στη μνήμη. Οι εφαρμογές που δεν έχουν εξαρτήσεις δεδομένων και παρουσιάζουν καλή τοπικότητα αναφορών τείνουν να πετυχαίνουν υψηλές επιταχύνσεις, διότι ο κάθε πυρήνας μπορεί να λειτουργεί χωρίς να επηρεάζει τη λειτουργία των υπολοίπων. Αντίθετα, εφαρμογές που πραγματοποιούν συχνές προσβάσεις στη μνήμη και χαρακτηρίζονται από φτωχή τοπικότητα αναφορών, δεν επιδεικνύουν υψηλό βαθμό επιτάχυνσης εξαιτίας συμφόρησης κατά την ταυτόχρονη πρόσβαση στην κύρια μνήμη. Με βάση την προηγούμενη παρατήρηση, χωρίζουμε το χρόνο εκτέλεσης μίας εφαρμογής, που εκτελείται ένα σύστημα μοιραζόμενης μνήμης, σε δύο μέρη: (α) ένα επεκτάσιμο (π.χ. εντολές υπολογισμού, πρόσβαση στην ιδιωτική ιεραρχία μνήμης) και (β) ένα μη-επεκτάσιμο (π.χ. πρόσβαση στην κύρια μνήμη). Συνεπώς, ο χρόνος εκτέλεσης ενός προγράμματος μπορεί να εκφραστεί ως: Όπου: n Ο αριθμός των νημάτων. t = r c d n + bw n d (1) d Ο όγκος των δεδομένων που χρειάζεται να μεταφερθούν από την κύρια μνήμη. Η τιμή αυτής της παραμέτρου εξαρτάται από τις προσβάσεις της εφαρμογής στη μνήμη (π.χ. το- 8

17 πικότητα αναφορών) και την υλοποίηση της ιεραρχίας μνήμης (μέγεθος κρυφής μνήμης, μέγεθος γραμμής κ.α.). r c Το κόστος σε χρόνο των επεκτάσιμων υπολογισμών ανά byte δεδομένων που μεταφέρθηκε από την κύρια μνήμη. Η τιμή αυτής της παραμέτρου εξαρτάται από τις λειτουργίες της εφαρμογής και την ταχύτητα του επεξεργαστή. bw n Ο μέγιστος εφικτός ρυθμός μεταφοράς δεδομένων από την κύρια μνήμη, όταν χρησιμοποιούνται n νήματα. Εξαρτάται από τη μορφή των προσβάσεων στη μνήμη (π.χ. χωρική τοπικότητα αναφορών) και τις δυνατότητες του υλικού, δεδομένης της τοπολογίας των πυρήνων που χρησιμοποιούνται (π.χ. προφόρτωση δεδομένων σε επίπεδο υλικού, κ.α.). Οι σύγχρονοι επεξεργαστές και ιεραρχίες μνήμης είναι ιδιαίτερα πολύπλοκα συστήματα. Είναι, συνεπώς, δύσκολο να μοντελοποιηθούν οι παράμετροι της Εξίσωσης 1 ώστε προβλεφθεί η επίδοση εφαρμογών σε πραγματικά υπολογιστικά συστήματα, και ιδιαίτερα για επεξεργαστές που υλοποιούν τεχνικές όπως εκτέλεση εκτός σειράς (out of order exection). Για να διερευνήσουμε (ποσοτικά) την επίδραση των δύο μερών του χρόνου εκτέλεσης (επεκτάσιμο και μηεπεκτάσιμο) σε πραγματικά συστήματα χρησιμοποιούμε μία πειραματική προσέγγιση. Συγκεκριμένα, αναπτύξαμε ένα μετροπρόγραμμα (benchmark), το οποίο ονομάζεται memcom. Το μετροπρόγραμμα memcomp αναλαμβάνει να εκτελέσει βρόχους, κατά τη διάρκεια των οποίων πραγματοποιούνται αναγνώσεις από τη μνήμη (memory load), κάθε μία από τις οποίες ακολουθείται από c προσθέσεις του αποτελέσματος της ανάγνωσης σε έναν καταχωρητή. Η έξοδος του προγράμματος είναι ο χρόνος εκτέλεσης του βρόχου. Πραγματοποιήσαμε πειράματα χρησιμοποιώντας αριθμούς κινητής υποδιαστολής διπλής ακρίβειας, ενώ ο βρόχος ξετυλίχθηκε (unroll) ώστε να πραγματοποιεί 64 αναγνώσεις (και συνεπώς 64 c προσθέσεις) σε κάθε επανάληψη. Τα αποτελέσματα που προέκυψαν για διαφορετικές τιμές της παραμέτρου c παρουσιάζονται στο Σχήμα 3, όπου διαφορετικές γραμμές του γραφήματος αντιστοιχούν σε διαφορετικές τιμές της c. Όπως ήταν αναμενόμενο, για c = 1 η επεκτασιμότητα του memcomp είναι προβληματική. Όσο αυξάνεται ο αριθμός των πράξεων υπολογισμού, ωστόσο, η επεκτασιμότητα βελτιώνεται και φθάνει τελικά τη θεωρητική επίδοση. Το σημείο που παρατηρείται η παραπάνω αλλαγή, εξαρτάται σε σημαντικό βαθμό από την υφιστάμενη αρχιτεκτονική υλοποίηση. Στη συνέχεια, στοχεύοντας στη βελτίωση της επίδοσης εφαρμογών με έντονες προσβάσεις στη μνήμη, εξερευνούμε τη χρήση μεθόδων συμπίεσης. Αναφορικά με την Εξίσωση 1, στοχεύουμε στη μείωση του μη-επεκτάσιμου κόστους, θυσιάζοντας υπολογιστικό κόστος. Υποστηρίζουμε ότι εφόσον το επιπλέον υπολογιστικό κόστος είναι επεκτάσιμο, η συνολική επίδοση της εφαρμογής θα βελτιωθεί, όταν χρησιμοποιηθούν αρκετοί πυρήνες Συμπίεση δεδομένων για τη βελτιστοποίηση εφαρμογών Γενικά, η συμπίεση δεδομένων μπορεί να θεωρηθεί ως δοσοληψία, στην οποία το κέρδος είναι η μείωση του όγκου δεδομένων, ενώ το κόστος είναι οι επιπλέον (απαραίτητοι) υπολογισμοί (π.χ. αποσυμπίεση). Οι συνήθεις χρήσεις της συμπίεσης δεδομένων αποσκοπούν σε μείωση του χρόνου μεταφοράς δεδομένων πάνω από ένα δίκτυο ή σε μείωση του χώρου που καταλαμβά- 9

18 speedup 5 4 speedup cores utilized (a) cores utilized (b) Σχήμα 3: Επιτάχυνση του μετροπρογράμματος memcomp. Διαφορετικές γραμμές αναπαριστούν διαφορετικές τιμές της παραμέτρου c. Χρησιμοποιούμε δύο συστήματα: (a) Ένα σύστημα με δύο επεξεργαστές τεσσάρων πυρήνων (8 πυρήνες συνολικά) και (b) Ένα σύστημα με τέσσερις επεξεργαστές έξι πυρήνων (24 πυρήνες συνολικά). νουν τα δεδομένα σε μόνιμα μέσα αποθήκευσης. Αντίθετα, στην παρούσα εργασία εξερευνάται η χρήση της συμπίεσης ως μέσο βελτιστοποίησης πολυνηματικών εφαρμογών. Αν θεωρήσουμε ότι χρησιμοποιούμε μία τεχνική συμπίεσης η οποία μειώνει τον όγκο των δεδομένων κατά a, αλλά αυξάνει το υπολογιστικό κόστος κατά b, τότε, σύμφωνα με την Εξίσωση 1, ο χρόνος εκτέλεσης του προγράμματος γίνεται: ( b t rc = n + bw ) n d, a, b 1 (2) a Στη συνέχεια, με βάση την παραπάνω εξίσωση, αναφέρουμε απαραίτητες προϋποθέσεις που θα πρέπει να πληρούνται ώστε η εφαρμογή μίας τεχνικής συμπίεσης να έχει θετική επίδραση στην επίδοση μίας πολυνηματικής εφαρμογής. (α) Στενωπός του προγράμματος θα πρέπει να είναι ο ρυθμός μεταφοράς δεδομένων από την κύρια μνήμη. Αρχικά, η επίδοση της εφαρμογής θα πρέπει να περιορίζεται πρωτίστως από την αδυναμία του συστήματος να παρέχει υψηλό ρυθμό μεταφοράς δεδομένων από την κύρια μνήμη. Αν η στενωπός (bottleneck) μίας εφαρμογής είναι, για παράδειγμα, το κόστος υπολογισμών, τότε στον χρόνο εκτέλεσης υπερισχύει ο όρος r c. Η συμπίεση, αυξάνοντας το r c κατά b, οδηγεί σε επιδείνωση του προβλήματος και σε αύξηση του χρόνου εκτέλεσης. (β) Συμπιεστά δεδομένα. Μια σημαντική προϋπόθεση για την επιτυχία της συμπίεσης, είναι 10

19 η δυνατότητα της να μειώσει τον όγκο των δεδομένων. Για παράδειγμα, αν τα δεδομένα είναι τυχαία (αδύνατο να συμπιεστούν), τότε ο παράγοντας a θα έχει τιμή κοντά στο 1 με αποτέλεσμα η συμπίεση να οδηγήσει σε μείωση της επίδοσης της εφαρμογής. Αναμένουμε, ωστόσο, η συγκεκριμένη προϋπόθεση να μην αποτελέσει εμπόδιο για τις περισσότερες εφαρμογές, όπου τα δεδομένα εκφράζουν συγκεκριμένη σημασιολογία. Βέβαια, δεδομένου ότι η εφαρμογή μπορεί να χρησιμοποιείται σε διαφορετικές συνθήκες και με διαφορετικού τύπου δεδομένα, η εύρεση κατάλληλου σχήματος συμπίεσης δεν είναι πάντα εύκολη διαδικασία. (γ) Υπερκέραση του κόστους αποσυμπίεσης. Επιπρόσθετα, είναι απαραίτητο τα οφέλη της μείωση του όγκου των δεδομένων να υπερκεράσουν το κόστος της αποσυμπίεσης. Η συγκεκριμένη προϋπόθεση αποτελεί μία σημαντική διαφορά σε σχέση με τα συνήθη σχήματα συμπίεσης δεδομένων. Όσο αυξάνεται ο αριθμός των νημάτων, αν θεωρήσουμε ότι το κόστος της αποσυμπίεσης είναι επεκτάσιμο, η προϋπόθεση αυτή τείνει να ικανοποιηθεί. Για παράδειγμα, αν θεωρήσουμε ότι n, τότε ο χρόνος εκτέλεσης της Εξίσωσης 2 τείνει στην τιμή (bw n /a) d. Ωστόσο, τα πραγματικά μηχανήματα δεν έχουν άπειρο αριθμό πυρήνων, και κατά συνέπεια το κόστος αποσυμπίεσης δεν μπορεί να αγνοηθεί σε πραγματικές εφαρμογές. (δ) Υπερκέραση του κόστους συμπίεσης. Πέρα από το κόστος αποσυμπίεσης, ωστόσο, θα πρέπει να λάβουμε υπόψη μας και το κόστος που προκύπτει από τη συμπίεση των δεδομένων. Το κόστος αυτό μπορεί να χαρακτηριστεί ως κρυμμένο, γιατί δεν περιλαμβάνεται στην έκφραση του χρονικού κόστους εκτέλεσης. Ο λόγος που δεν συμπεριλήφθηκε είναι διότι υποθέσαμε ότι μπορεί να πραγματοποιηθεί εκτός του κύριου μονοπατιού εκτέλεσης (offline). Για παράδειγμα, εφαρμογές συμβατές με αυτή την υπόθεση είναι αυτές που χρησιμοποιούν τα δεδομένα σε πολλαπλές επαναλήψεις. Αντίθετα, οι εφαρμογές που χρησιμοποιούν τα δεδομένα μόνο μία φορά είναι δύσκολο να επωφεληθούν από τη χρήση συμπίεσης. Αν και η παραπάνω προϋπόθεση φαίνεται να αποκλείει εφαρμογές χωρίς χρονική τοπικότητα αναφορών, κάτι τέτοιο δεν συμβαίνει στην πράξη. Δεδομένου ότι οι κρυφές μνήμες έχουν περιορισμένο μέγεθος, αν η εφαρμογή προσπελάζει μεγάλο όγκο δεδομένων, τότε η συμπεριφορά της ισοδυναμεί με απουσία χρονικής τοπικότητας αναφορών. Στις προηγούμενες παραγράφους παρουσιάσαμε τη βασική ιδέα της παρούσας εργασίας τη χρησιμοποίηση τεχνικών συμπίεσης για τη βελτίωση της επίδοσης εφαρμογών με έντονες προσβάσεις στη μνήμη, όταν αυτές εκτελούνται σε παράλληλα συστήματα μοιραζόμενης μνήμης. Στη συνέχεια επικεντρωνόμαστε στη εφαρμογή της ιδέας αυτής σε υπολογισμούς αραιών πινάκων και συγκεκριμένα στον υπολογιστικό πυρήνα SpMxV. 0.3 Αραιοί πίνακες Οι αραιοί πίνακες είναι πίνακες που περιέχουν μεγάλο αριθμό μηδενικών τιμών. Γενικά, ο χαρακτηρισμός ενός πίνακα ως αραιού δεν γίνεται με βάση κάποιο ποσοτικό κριτήριο. Αντίθετα, 11

20 ένας πίνακας χαρακτηρίζεται αραιός όταν υπάρχουν πλεονεκτήματα (π.χ. χώρος αποθήκευσης) από μία τέτοια, ειδική, αντιμετώπιση. Ένα ποσοτικό κριτήριο που προκύπτει, με βάση τα παραπάνω, είναι το εξής: ένας πίνακας N M χαρακτηρίζεται ως αραιός εφόσον ο αριθμός των μη-μηδενικών του στοιχείων είναι τάξεις μεγέθους μικρότερος από N M. Παραδείγματα αραιών πινάκων πραγματικών εφαρμογών [Dav97] παρουσιάζονται στο Σχήμα 4. (a) Hamrle3 (b) nd12k (c) parabolic_fem (d) stomach (e) inline_1 (f) ASIC_680k Σχήμα 4: Παραδείγματα αραιών πινάκων από πραγματικές εφαρμογές. Οι αραιοί πίνακες συναντούνται σε πληθώρα επιστημονικών πεδίων και προκύπτουν κυρίως κατά τη μελέτη χαλαρά συνδεδεμένων συστημάτων (loosely coupled systems). Για παράδειγμα, ο συνήθης τρόπος για την επίλυση ΜΔΕ είναι η διακριτοποίηση του προβλήματος χρησιμοποιώντας τεχνικές όπως η μέθοδος πεπερασμένων στοιχείων (Finite Element Method FEM) [Saa03], η οποία συνήθως οδηγεί σε μεγάλους αραιούς πίνακες. Επιπρόσθετα, οι αραιοί πίνακες μπορούν να χρησιμοποιηθούν για την αναπαράσταση μεγάλων γράφων χρησιμοποιώντας λίστες γειτόνων (adjacency lists). Ένα παράδειγμα ενός τέτοιου γράφου είναι ο Παγκόσμιος Ιστός (World Wide Web WWW) [KKR + 99], όπου μία κατευθυνόμενη ακμή από τον κόμβο A στον κόμβο B (A B) αναπαριστά την παρουσία ενός συνδέσμου (URL link) από τη σελίδα A στη σελίδα B. Σε γενικές γραμμές, τα επιστημονικά πεδία των αραιών πινάκων και της θεωρίας γράφων είναι στενά συνδεδεμένα: αλγόριθμοι γράφων χρησιμοποιούνται σε προβλήματα αραιών πινάκων (π.χ. για διαμερισμό δεδομένων [HK99, VB05]), ενώ αλγόριθμοι γράφων μπορούν να εκφραστούν ως υπολογισμοί σε αραιούς πίνακες [KCA09]. 12

21 0.3.1 Πολλαπλασιασμός αραιού πίνακα με διάνυσμα Μια σημαντική, αλλά και συχνά χρησιμοποιούμενη, πράξη για αραιούς πίνακες είναι ο πολλαπλασιασμός ενός αραιού πίνακα με ένα διάνυσμα (SpMxV). Σε αυτή την πράξη ένας N M αραιός πίνακας πολλαπλασιάζεται με ένα πυκνό (dense) διάνυσμα (μεγέθους M) και το αποτέλεσμα που προκύπτει είναι ένα νέο πυκνό διάνυσμα (μεγέθους N): y = A x. Θα αναφερόμαστε στο διάνυσμα y ως διάνυσμα εξόδου και στο x ως διάνυσμα εισόδου. Μια γενική έκφραση για τα στοιχεία του y είναι: M y i = A ij x j j=1 1 i N Είναι έκδηλο ότι τα μηδενικά στοιχεία δεν συνεισφέρουν στο αποτέλεσμα και, συνεπώς, μπορούν να παραληφθούν. Η πράξη SpMxV χρησιμοποιείται σε πληθώρα επιστημονικών εφαρμογών. Για παράδειγμα, είναι η βασική πράξη μεθόδων για επαναληπτική επίλυση συστημάτων, όπως η Conjugate Gradient (CG) και η Generalized Minimum Residual (GMRES). Οι μέθοδοι αυτές χρησιμοποιούνται συχνά στην επίλυση αραιών γραμμικών συστημάτων που προκύπτουν από ΜΔΕ που περιγράφουν φυσικές διεργασίες [Saa03]. Επιπρόσθετα, ένας σημαντικός αριθμός επαναληπτικών αλγορίθμων σε γράφους μπορούν να εκφραστούν χρησιμοποιώντας την πράξη SpMxV, στην οποία ξοδεύεται και ο μεγαλύτερος χρόνος της κάθε επανάληψης [KCA09]. Ένα παράδειγμα ενός τέτοιου αλγορίθμου είναι ο αλγόριθμος PageRank [BP98], ο οποίος χρησιμοποιείται για ανάλυση συνδέσμων στον Παγκόσμιο Ιστό. Τέλος, η πράξη SpMxV εμπεριέχεται σε μία οικογένεια επιστημονικών εφαρμογών, που ονομάζονται επτά νάνοι, και θεωρούνται ότι θα παραμείνουν σημαντικές μέχρι, τουλάχιστον, και την επόμενη δεκαετία [ABC + 06]. 0.4 Σχήματα αποθήκευσης αραιών πινάκων Τα σχήματα αποθήκευσης αραιών πινάκων είναι δομές δεδομένων που επιτρέπουν την αποδοτική αποθήκευση και χρησιμοποίηση των αραιών πινάκων. Γενικά, τα σχήματα αυτά αποθηκεύουν μόνο τα μη-μηδενικά αριθμητικά στοιχεία του πίνακα. Η τακτική αυτή οδηγεί σε περιορισμό του απαιτούμενου χώρου αποθήκευσης, αλλά και σε πιο αποδοτικές πράξεις. Ωστόσο, είναι απαραίτητο να αποθηκεύεται επιπλέον πληροφορία σχετική με τη θέση των μη-μηδενικών στοιχείων. Άρα διαχωρίζουμε τα δεδομένα των αραιών πινάκων σε δύο κατηγορίες: δεδομένα δομής: δεδομένα που αναπαριστούν τη δομή του πίνακα και δεδομένα τιμών: δεδομένα που αναπαριστούν τις (μη-μηδενικές) αριθμητικές τιμές του πίνακα. Στη συνέχεια παρουσιάζουμε ορισμένα από τα πιο δημοφιλή σχήματα αποθήκευσης αραιών πινάκων COO Το σχήμα αποθήκευσης COO (coordinate format) είναι ένα απλό σχήμα, το οποίο αποθηκεύει τις τιμές των μη-μηδενικών στοιχείων μαζί με τις συντεταγμένες τους. Συγκεκριμένα, για τα δεδομένα δομής χρησιμοποιούνται δύο πίνακες: ένας για την αποθήκευση της γραμμής (row_ind) 13

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Τεχνολογίες Κύριας (και η ανάγκη για χρήση ιεραρχιών μνήμης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης i Στα σύγχρονα

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

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) 1 Συστήματα Μνήμης Η οργάνωση του συστήματος μνήμης επηρεάζει τη λειτουργία και απόδοση ενός μικροεπεξεργαστή: Διαχείριση μνήμης και περιφερειακών (Ι/Ο) απότολειτουργικόσύστημα

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

Εφαρµογές µε ανάγκες για υψηλές επιδόσεις Αξιολόγηση επίδοσης Παραλληλοποίηση εφαρµογών

Εφαρµογές µε ανάγκες για υψηλές επιδόσεις Αξιολόγηση επίδοσης Παραλληλοποίηση εφαρµογών Parallelizing applications for the GRID Γιώργος Γκούµας goumas@cslab.ece.ntua.gr Σύνοψη Παρουσίασηςασης Εφαρµογές µε ανάγκες για υψηλές επιδόσεις Αξιολόγηση επίδοσης Παραλληλοποίηση εφαρµογών Γενικές αρχές

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 10ο μάθημα: Ορια παραλληλίας επιπέδου εντολής και πολυνηματικοί επεξεργαστές Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Ορια

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

ΠΕΡΙΕΧΟΜΕΝΑ. 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 Δομή

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

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

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

Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης

Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης Αναστάσιος Α. Νάνος ananos@cslab.ntua.gr Επιβλέπων: Νεκτάριος

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

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

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

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

Πολυπύρηνοι επεξεργαστές Multicore processors

Πολυπύρηνοι επεξεργαστές Multicore processors Πολυπύρηνοι επεξεργαστές Multicore processors 1 Μετάβαση στους πολυπύρηνους(1) Απόδοση των µονοεπεξεργαστών 25% ετήσια βελτίωση της απόδοσης από το 1978 έως το 1986 Κυρίως από την εξέλιξη της τεχνολογίας

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

Άσκηση 1η. Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ,

Άσκηση 1η. Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ, Ασκήσεις Caches Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1 byte

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

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

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους; Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Δομή Εντολών και Παραδείγματα) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική

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

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI)

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 015-16 Οργάνωση Υπολογιστών (ΙI) (κύρια και ) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα τυπικό υπολογιστικό

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ ΧΕΙΜΩΝΑΣ 2009 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ 1 Γενική οργάνωση του υπολογιστή Ο καταχωρητής δεδομένων της μνήμης (memory data register

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

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων 2.1 Αρχιτεκτονική Υπολογιστών 2.1 Αρχιτεκτονική Υπολογιστών 2.2 Γλώσσα Μηχανής 2.3 Εκτέλεση προγράµµατος 2.4 Αριθµητικές και λογικές εντολές 2.5 Επικοινωνία µε άλλες συσκευές

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

Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή

Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή Μνήμη Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή ηλεκτρονική συσκευή, σε προσωρινή ή μόνιμη βάση. Τα σύγχρονα

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

ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή

ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή Αρης Ευθυμίου Σύστημα μνήμης Η μνήμη είναι σημαντικό κομμάτι ενός υπολογιστή Επηρεάζει κόστος, ταχύτητα, κατανάλωση

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

Matrix Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι. Αλγόριθμοι» Γ. Καούρη Β. Μήτσου

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

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

ΤΟΠΟΓΡΑΦΙΚΑ ΔΙΚΤΥΑ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙ ΑΝΑΣΚΟΠΗΣΗ ΘΕΩΡΙΑΣ ΣΥΝΟΡΘΩΣΕΩΝ

ΤΟΠΟΓΡΑΦΙΚΑ ΔΙΚΤΥΑ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙ ΑΝΑΣΚΟΠΗΣΗ ΘΕΩΡΙΑΣ ΣΥΝΟΡΘΩΣΕΩΝ ΤΟΠΟΓΡΑΦΙΚΑ ΔΙΚΤΥΑ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙ ΑΝΑΣΚΟΠΗΣΗ ΘΕΩΡΙΑΣ ΣΥΝΟΡΘΩΣΕΩΝ Βασίλης Δ. Ανδριτσάνος Δρ. Αγρονόμος - Τοπογράφος Μηχανικός ΑΠΘ Επίκουρος Καθηγητής ΤΕΙ Αθήνας 3ο εξάμηνο http://eclass.teiath.gr Παρουσιάσεις,

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 7ο μάθημα: Κρυφές μνήμες (cache) - εισαγωγή Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Σύστημα μνήμης! Η μνήμη είναι σημαντικό

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

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Η έννοια του συνδυαστικού

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

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Αριθμός bit δίαυλου δεδομένων (Data Bus) Αριθμός bit δίαυλου διευθύνσεων (Address Bus) Μέγιστη συχνότητα λειτουργίας (Clock Frequency) Τύποι εντολών Αριθμητική

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

Βελτιστοποίηση του Υπολογιστικού Πυρήνα Πολλαπλασιασμού Αραιού Πίνακα με Διάνυσμα σε Σύγχρονες Πολυπύρηνες Αρχιτεκτονικές Υπολογιστών

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

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

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο 2005-06

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο 2005-06 Τεχνολογικά Επιτεύγµατα Ε-03: Λειτουργικά Συστήµατα ΙΙ Εαρινό Εξάµηνο 2005-06 Ανάπτυξη ισχυρών µικροεπεξεργαστών ηµιουργία τοπικών δικτύων υψηλών ταχυτήτων «Εισαγωγή στα Κατανεµηµένα Λειτουργικά Συστήµατα»

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07 Τμήμα θεωρίας: Α.Μ. 8, 9 Κάθε Πέμπτη, 11πμ-2μμ, ΑΜΦ23. Διδάσκων: Ντίνος Φερεντίνος Γραφείο 118 email: kpf3@cornell.edu Μάθημα: Θεωρία + προαιρετικό

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

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Οι παρούσες σημειώσεις αποτελούν βοήθημα στο μάθημα Αριθμητικές Μέθοδοι του 5 ου εξαμήνου του ΤΜΜ ημήτρης Βαλουγεώργης Καθηγητής Εργαστήριο Φυσικών

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

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual MILE Simulator Version 1.0 User's Manual Νοέμβριος, 2011 Περιεχόμενα 1. Εισαγωγή στον προσομοιωτή...2 1.1 Εγκατάσταση...2 1.2 Βοήθεια Διευκρινήσεις...2 2. Ξεκινώντας με τον προσομοιωτή...3 2.1 Το memory

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

http://www.cslab.ece.ntua.gr/diplom/

http://www.cslab.ece.ntua.gr/diplom/ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr/ ιπλωµατική

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

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

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

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

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

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

Μάθηση και Γενίκευση. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Μάθηση και Γενίκευση. Τεχνητά Νευρωνικά Δίκτυα (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων Μάθηση και Γενίκευση Το Πολυεπίπεδο Perceptron (MultiLayer Perceptron (MLP)) Έστω σύνολο εκπαίδευσης D={(x n,t n )}, n=1,,n. x n =(x n1,, x nd ) T, t n =(t n1,, t np ) T Θα πρέπει το MLP να έχει d νευρώνες

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

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων 2009-2010: Ευρετήρια 1

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων 2009-2010: Ευρετήρια 1 Ευρετήρια 1 Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου

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

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

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

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

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Μάθημα 4.5 Η Μνήμη - Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς: Να αναφέρεις τα κυριότερα είδη μνήμης

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

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

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών Εισαγωγή Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Architecture and Engineering, K. Asanovic, CS1/2-52,

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

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

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

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

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

Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων

Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Αρχιτεκτονική Υπολογιστών II 6 --0 Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Θέμα. Τι γνωρίζετε για την τοπικότητα των αναφορών και ποιών μονάδων του υπολογιστή ή τεχνικών η απόδοση εξαρτάται από

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

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού

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

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

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

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

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

Τυπικές χρήσεις της Matlab

Τυπικές χρήσεις της Matlab Matlab Μάθημα 1 Τι είναι η Matlab Ολοκληρωμένο Περιβάλλον Περιβάλλον ανάπτυξης Διερμηνευμένη γλώσσα Υψηλή επίδοση Ευρύτητα εφαρμογών Ευκολία διατύπωσης Cross platform (Wintel, Unix, Mac) Τυπικές χρήσεις

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

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

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

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ Βιβλιογραφία Ενότητας Kehtarnavaz [2005]: Chapter 3 Kuo [2005]: Chapters 1 & 4-5 Lapsley [2002]: Chapter 4 Hayes [2000]: Κεφάλαιo 8

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

Επιστημονικός Υπολογισμός (set3) Δρ. Γιώργος Τσιρογιάννης

Επιστημονικός Υπολογισμός (set3) Δρ. Γιώργος Τσιρογιάννης Επιστημονικός Υπολογισμός (set3) Δρ. Γιώργος Τσιρογιάννης Μοντέλο Αριθμητικής και Σφάλματα υπολογισμού Απώλεια πληροφορίας λόγω: Μαθηματικής μοντελοποίησης και αποστεύσεων Διακριτοποίηση Σφάλματα στρογγύλευσης

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

Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa.

Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa. Πληροφορική 1 Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa.gr/~organosi/ 2 Η δομή του μαθήματος Εισαγωγή στην

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

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πτυχιακή διατριβή

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πτυχιακή διατριβή ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ Πτυχιακή διατριβή ΜΕΛΕΤΗ ΤΗΣ ΑΝΤΙΔΡΑΣΗΣ ΚΑΤΑΛΥΤΙΚΗΣ ΑΝΑΓΩΓΗΣ ΝΙΤΡΙΚΩΝ ΚΑΙ ΝΙΤΡΩΔΩΝ ΙΟΝΤΩΝ ΣΕ ΝΕΡΟ ΜΕ ΧΡΗΣΗ ΥΔΡΟΓΟΝΟΥ

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής. Ακαδημαϊκό Έτος 2007-2008

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής. Ακαδημαϊκό Έτος 2007-2008 Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ακαδημαϊκό Έτος 2007-2008 ΠΑΡΑΔΟΤΕΟ: Έκθεση Προόδου Υλοποίησης του Μαθήματος Εισαγωγή στην Επιστήμη των Υπολογιστών Διδάσκοντες: Θ.Ανδρόνικος - Μ.Στεφανιδάκης Περιεχόμενα

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

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 1 : Οργάνωση και Αρχιτεκτονική υπολογιστών Φώτης Βαρζιώτης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα Τμήμα Μηχανικών

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

ΤΕΙ Χαλκίδας Σχολή Διοίκησης και Οικονομίας Τμήμα Διοίκησης Επιχειρήσεων

ΤΕΙ Χαλκίδας Σχολή Διοίκησης και Οικονομίας Τμήμα Διοίκησης Επιχειρήσεων ΤΕΙ Χαλκίδας Σχολή Διοίκησης και Οικονομίας Τμήμα Διοίκησης Επιχειρήσεων Επιχειρησιακή Έρευνα Τυπικό Εξάμηνο: Δ Αλέξιος Πρελορέντζος Εισαγωγή Ορισμός 1 Η συστηματική εφαρμογή ποσοτικών μεθόδων, τεχνικών

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

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Λειτουργικό Σύστημα:

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

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

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

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

Υπολογιστική Νέφους: Εργαστήριο 1

Υπολογιστική Νέφους: Εργαστήριο 1 Υπολογιστική Νέφους: Εργαστήριο 1 Εικονικές Μηχανές και μετρήσεις απόδοσης Αρκολάκης Δημήτριος Τμήμα Προηγμένων Συστημάτων Πληροφορικής Πανεπιστήμιο Πειραιώς Πειραιάς, Αττική, Ελλάς meetsospapei@gmail.com

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

Να οδηγηθούμε σε μια αρχιτεκτονική που έχει μεγάλο αριθμό καταχωρητών και να εφαρμόσουμε τεχνική ελαχιστοποίησης καταχωρητών

Να οδηγηθούμε σε μια αρχιτεκτονική που έχει μεγάλο αριθμό καταχωρητών και να εφαρμόσουμε τεχνική ελαχιστοποίησης καταχωρητών Folding Να καθορίσουμε συστηματικά τα κυκλώματα ελέγχου μιας DSP αρχιτεκτονικής χρησιμοποιώντας folding μετασχηματισμό ώστε να πραγματοποιούμε πολλαπλές αλγοριθμικές πράξεις σε ένα λειτουργικό στοιχείο

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

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

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

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης Περιεχόμενα Δομές δεδομένων 37. Δομές δεδομένων (θεωρητικά στοιχεία)...11 38. Εισαγωγή στους μονοδιάστατους πίνακες...16 39. Βασικές επεξεργασίες στους μονοδιάστατους πίνακες...25 40. Ασκήσεις στους μονοδιάστατους

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

Εντολές γλώσσας μηχανής

Εντολές γλώσσας μηχανής Εντολές γλώσσας μηχανής Στον υπολογιστή MIPS η εντολή πρόσθεσε τα περιεχόμενα των καταχωρητών 17 και 20 και τοποθέτησε το αποτέλεσμα στον καταχωρητή 9 έχει την μορφή: 00000010001101000100100000100000 Πεδία

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

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει;

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει; ΜΑΘΗΜΑ 7 Κλήση αλγορίθμου από αλγόριθμο Αναδρομή Σ χ ο λ ι κ ο Β ι β λ ι ο ΥΠΟΚΕΦΑΛΑΙΟ 2.2.7: ΕΝΤΟΛΕΣ ΚΑΙ ΔΟΜΕΣ ΑΛΓΟΡΙΘΜΟΥ ΠΑΡΑΓΡΑΦΟI 2.2.7.5: Κλήση αλγορίθμου από αλγόριθμο 2.2.7.6: Αναδρομή εισαγωγη

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

Θεμελιώδεις αρχές επιστήμης και μέθοδοι έρευνας

Θεμελιώδεις αρχές επιστήμης και μέθοδοι έρευνας A. Montgomery Θεμελιώδεις αρχές επιστήμης και μέθοδοι έρευνας Καρολίνα Δουλουγέρη, ΜSc Υποψ. Διαδάκτωρ Σήμερα Αναζήτηση βιβλιογραφίας Επιλογή μεθοδολογίας Ερευνητικός σχεδιασμός Εγκυρότητα και αξιοπιστία

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

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

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

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

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit! Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 25-6 Πράξεις με δυαδικούς αριθμούς (αριθμητικές ) http://di.ionio.gr/~mistral/tp/csintro/ Αριθμοί Πράξεις με δυαδικούς αριθμούς

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

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα. i Π Ρ Ο Λ Ο Γ Ο Σ Το βιβλίο αυτό αποτελεί μια εισαγωγή στα βασικά προβλήματα των αριθμητικών μεθόδων της υπολογιστικής γραμμικής άλγεβρας (computational linear algebra) και της αριθμητικής ανάλυσης (numerical

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

ΑΠΟΓΡΑΦΙΚΟ ΔΕΛΤΙΟ ΔΙΔΑΚΤΟΡΙΚΗΣ ΔΙΑΤΡΙΒΗΣ ΤΙΤΛΟΣ Συμπληρώστε τον πρωτότυπο τίτλο της Διδακτορικής διατριβής ΑΡ. ΣΕΛΙΔΩΝ ΕΙΚΟΝΟΓΡΑΦΗΜΕΝΗ

ΑΠΟΓΡΑΦΙΚΟ ΔΕΛΤΙΟ ΔΙΔΑΚΤΟΡΙΚΗΣ ΔΙΑΤΡΙΒΗΣ ΤΙΤΛΟΣ Συμπληρώστε τον πρωτότυπο τίτλο της Διδακτορικής διατριβής ΑΡ. ΣΕΛΙΔΩΝ ΕΙΚΟΝΟΓΡΑΦΗΜΕΝΗ ΕΘΝΙΚΟ & ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΑΝΑΓΝΩΣΤΗΡΙΟ Πανεπιστημιούπολη, Κτήρια Πληροφορικής & Τηλεπικοινωνιών 15784 ΑΘΗΝΑ Τηλ.: 210 727 5190, email: library@di.uoa.gr,

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

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα Κεφάλαιο 7. 7.1 ομές εδομένων για Γραφικά Υπολογιστών. Οι δομές δεδομένων αποτελούν αντικείμενο της επιστήμης υπολογιστών. Κατά συνέπεια πρέπει να γνωρίζουμε πώς οργανώνονται τα γεωμετρικά δεδομένα, προκειμένου

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

Τα µπιτ και η σηµασία τους. Σχήµα bit. ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) 1.7 Αποθήκευση κλασµάτων 1.8 Συµπίεση δεδοµένων 1.9 Σφάλµατα επικοινωνίας

Τα µπιτ και η σηµασία τους. Σχήµα bit. ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) 1.7 Αποθήκευση κλασµάτων 1.8 Συµπίεση δεδοµένων 1.9 Σφάλµατα επικοινωνίας ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (2/2) 1.1 Τα bits και ο τρόπος που αποθηκεύονται 1.2 Κύρια µνήµη 1.3 Αποθηκευτικά µέσα 1.4 Αναπαράσταση πληροφοριών ως σχηµάτων bits

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

ΒΕΛΤΙΣΤΕΣ ΙΑ ΡΟΜΕΣ ΣΕ ΙΚΤΥΑ ΜΕΤΑΒΛΗΤΟΥ ΚΟΣΤΟΥΣ

ΒΕΛΤΙΣΤΕΣ ΙΑ ΡΟΜΕΣ ΣΕ ΙΚΤΥΑ ΜΕΤΑΒΛΗΤΟΥ ΚΟΣΤΟΥΣ ΒΕΛΤΙΣΤΕΣ ΙΑ ΡΟΜΕΣ ΣΕ ΙΚΤΥΑ ΜΕΤΑΒΛΗΤΟΥ ΚΟΣΤΟΥΣ Μωυσιάδης Πολυχρόνης, Ανδρεάδης Ιωάννης Τμήμα Μαθηματικών Α.Π.Θ. ΠΕΡΙΛΗΨΗ Στην εργασία αυτή παρουσιάζεται μία μελέτη για την ελάχιστη διαδρομή σε δίκτυα μεταβλητού

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

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

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

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος ΑΛΓΟΡΙΘΜΟΙ Στο σηµείωµα αυτό αρχικά εξηγείται η έννοια αλγόριθµος και παραθέτονται τα σπουδαιότερα κριτήρια που πρέπει να πληρεί κάθε αλγόριθµος. Στη συνέχεια, η σπουδαιότητα των αλγορίθµων συνδυάζεται

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

Case 12: Προγραμματισμός Παραγωγής της «Tires CO» ΣΕΝΑΡΙΟ (1)

Case 12: Προγραμματισμός Παραγωγής της «Tires CO» ΣΕΝΑΡΙΟ (1) Case 12: Προγραμματισμός Παραγωγής της «Tires CO» ΣΕΝΑΡΙΟ (1) Ένα πολυσταδιακό πρόβλημα που αφορά στον τριμηνιαίο προγραμματισμό για μία βιομηχανική επιχείρηση παραγωγής ελαστικών (οχημάτων) Γενικός προγραμματισμός

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

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30 ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 1.1 Τι είναι Πληροφορική;...11 1.1.1 Τι είναι η Πληροφορική;...12 1.1.2 Τι είναι ο Υπολογιστής;...14 1.1.3 Τι είναι το Υλικό και το

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

Εισαγωγή στην γλώσσα προγραμματισμού C

Εισαγωγή στην γλώσσα προγραμματισμού C Εισαγωγή στην γλώσσα προγραμματισμού C Χαρακτηριστικά της C Ιδιαίτερα δημοφιλής Έχει χρησιμοποιηθεί για τον προγραμματισμό ευρέος φάσματος συστημάτων και εφαρμογών Γλώσσα μετρίου επιπέδου Φιλοσοφία: Ο

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

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ (Transportation Problems) Βασίλης Κώστογλου E-mail: vkostogl@it.teithe.gr URL: www.it.teithe.gr/~vkostogl Περιγραφή Ένα πρόβλημα μεταφοράς ασχολείται με το πρόβλημα του προσδιορισμού του καλύτερου δυνατού

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

Αρχιτεκτονική-ΙI Ενότητα 4 :

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

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

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Επίπεδα Αφαίρεσης Σ Β. Αποθήκευση Εγγραφών - Ευρετήρια. ρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, Επίπεδο Όψεων.

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Επίπεδα Αφαίρεσης Σ Β. Αποθήκευση Εγγραφών - Ευρετήρια. ρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, Επίπεδο Όψεων. ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ Χειµερινό Εξάµηνο 2002 Αποθήκευση Εγγραφών - Ευρετήρια ρ Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Επίπεδα Αφαίρεσης Σ Β Επίπεδο Όψεων Όψη Όψη

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

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

ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Τα τμήματα ενός ηλεκτρονικού υπολογιστή είναι: 1. Επεξεργαστής 2. Μνήμη RAM και ROM 3. Κάρτα γραφικών 4. Μητρική Πλακέτα 5. Σκληρός Δίσκος 6. DVD / Blue Ray 7. Τροφοδοτικό

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

Το υλικό του υπολογιστή

Το υλικό του υπολογιστή Το υλικό του υπολογιστή Ερωτήσεις 1. Τι αντιλαμβάνεστε με τον όρο υλικό; Το υλικό(hardware) αποτελείται από το σύνολο των ηλεκτρονικών τμημάτων που συνθέτουν το υπολογιστικό σύστημα, δηλαδή από τα ηλεκτρονικά

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

2. Αλγόριθμοι, δομές δεδομένων και πολυπλοκότητα

2. Αλγόριθμοι, δομές δεδομένων και πολυπλοκότητα 1. Εισαγωγή 1.1 O Υπολογιστής ως εργαλείο μηχανικού 1.2 Η Επιστήμη των υπολογιστών 1.3 Ιστορικό Σημείωμα 1.4 Ο υπολογιστής μηχανή επεξεργασίας ψηφιακής πληροφορίας 1.5 Ψηφιοποίηση πληροφορίας 1.5.1 ψηφιοποίηση

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

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07 Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή

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

Εισαγωγή στην Αρχιτεκτονική Η/Υ

Εισαγωγή στην Αρχιτεκτονική Η/Υ Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2014-15 Εισαγωγή στην Αρχιτεκτονική (θεμελιώδεις αρχές λειτουργίας των υπολογιστών) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

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

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

Δομές Δεδομένων. Λουκάς Γεωργιάδης. http://www.cs.uoi.gr/~loukas/courses/data_structures/ email: loukas@cs.uoi.gr

Δομές Δεδομένων. Λουκάς Γεωργιάδης. http://www.cs.uoi.gr/~loukas/courses/data_structures/ email: loukas@cs.uoi.gr Δομές Δεδομένων http://www.cs.uoi.gr/~loukas/courses/data_structures/ Λουκάς Γεωργιάδης email: loukas@cs.uoi.gr Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δεδομένα: Σύνολο από πληροφορίες που

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

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πτυχιακή εργασία

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πτυχιακή εργασία ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ Πτυχιακή εργασία ΜΑΘΗΜΑΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΓΙΑ ΑΝΑΛΥΣΗ ΠΙΣΤΟΠΟΙΗΤΙΚΩΝ ΕΝΕΡΓΕΙΑΚΗΣ ΑΠΟΔΟΣΗΣ ΚΤΙΡΙΩΝ Εβελίνα Θεμιστοκλέους

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

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ι Γ. Τσιατούχας 2 ο Κεφάλαιο ιάρθρωση 1. Οργάνωση της 2. εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής) ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α Γενικού Λυκείου (Μάθημα Επιλογής) Σύγχρονα Υπολογιστικά Συστήματα τους υπερυπολογιστές (supercomputers) που χρησιμοποιούν ερευνητικά εργαστήρια τα μεγάλα συστήματα (mainframes)

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

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών ΕΠΛ362: Τεχνολογία Λογισμικού ΙΙ (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Software Engineering, 9/E, Ian Sommerville, 2011) Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών Οι διαφάνειες αυτές

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

Δομές Δεδομένων (Data Structures)

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) Ανάλυση - Απόδοση Αλγορίθμων Έλεγχος Αλγορίθμων. Απόδοση Προγραμμάτων. Χωρική/Χρονική Πολυπλοκότητα. Ασυμπτωτικός Συμβολισμός. Παραδείγματα. Αλγόριθμοι: Βασικές Έννοιες

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

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

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

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

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

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

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Δρ.

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Δρ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Πληροφορική Ι ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Δρ. Γκόγκος Χρήστος Επιστήμη των υπολογιστών Computer Science (CS) ή Information

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

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΝΟΣΗΛΕΥΤΙΚΗΣ

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

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

Η θέση ύπνου του βρέφους και η σχέση της με το Σύνδρομο του αιφνίδιου βρεφικού θανάτου. ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ

Η θέση ύπνου του βρέφους και η σχέση της με το Σύνδρομο του αιφνίδιου βρεφικού θανάτου. ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Η θέση ύπνου του βρέφους και η σχέση της με το Σύνδρομο του αιφνίδιου βρεφικού θανάτου. Χρυσάνθη Στυλιανού Λεμεσός 2014 ΤΕΧΝΟΛΟΓΙΚΟ

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

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Συναρτήσεις Κατακερματισμού και Πιστοποίηση Μηνύματος Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail: pkitsos@teimes.gr, pkitsos@ieee.org Αντίρριο

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

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