Μεταπτυχιακή Διατριβή. «Ανάπτυξη Γραφικής Διεπαφής για Εφαρμογές Κατανεμημένου Προγραμματισμού» Καλογιάννης Γρηγόριος
|
|
- Αγαθων Παππάς
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Μεταπτυχιακή Διατριβή «Ανάπτυξη Γραφικής Διεπαφής για Εφαρμογές Κατανεμημένου Προγραμματισμού» Καλογιάννης Γρηγόριος Επιβλέπων Καθηγητής : κ. Χασάπης Γεώργιος ΘΕΣΣΑΛΟΝΙΚΗ 2009
2 Αφιέρωση Στους γονείς μου, Θανάση και Αγγελική 2
3 Ευχαριστίες Σε αυτό το σημείο θα ήθελα να ευχαριστήσω τον επιβλέπων αυτής της Μεταπτυχιακής Διατριβής, τον κ. Χασάπη Γεώργιο, Καθηγητή του Τομέα Ηλεκτρονικής και Υπολογιστών του Τμήματος Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, της Πολυτεχνικής Σχολής του Α.Π.Θ. τόσο για την εμπιστοσύνη να μου αναθέσει την παρούσα εργασία όσο και για την παρότρυνση του να εργαστώ πάνω σε θέματα παράλληλου προγραμματισμού. Παράλληλα θα ήθελα να ευχαριστήσω τον κ.vassil N. Alexandrov, Καθηγητή του Πανεπιστημίου του Reading, Διευτυντή του ACET και τον συνεργάτη του Christian Weihrauch καθώς μέσα στα πλαίσια του μαθήματος «Δικτυακή Υπολογιστική και Περιβάλλοντα Ανάπτυξης Εφαρμογών» καθώς και «Παράλληλα και Κατανεμημένα Συστήματα», του Διατμηματικού προγράμματος σπουδών μου έδωσαν την εφαλτήριο δύναμη ενασχόλησης μου με τα συστήματα παράλληλης επεξεργασίας. Επιπλέον θα ήθελα να ευχαριστήσω τον συνάδελφο Κουτσόπουλο Κωνσταντίνο, του οποίου η Διπλωματική εργασία σε προπτυχιακό επίπεδο αποτέλεσε σημαντικό βοήθημα στην εκπόνηση της παρούσας διατριβής καθώς και τα μέλη του εργαστηρίου «Εργαστήριο Αρχιτεκτονικής Υπολογιστών και Συστημάτων», του Τομέα Ηλεκτρονικής και Υπολογιστών του Τμήματος Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, της Πολυτεχνικής Σχολής του Α.Π.Θ για την προσφορά χώρου και εξοπλισμού. Τέλος πολλές ευχαριστίες στον φίλο και συνάδελφο κ. Δάρα Πέτρο, Ερευνητή βαθμίδος Γ, του Ινστιτούτου Πληροφορικής και Τηλεματικής, του Εθνικού Κέντρου Έρευνας και Ανάπτυξης (ΕΚΕΤΑ) για την παρότρυνση του να εργαστώ σε θέματα κατανεμημένου προγραμματισμού. Καλογιάννης Γρηγόριος Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών Α.Π.Θ. 3
4 Λέξεις Κλειδιά Παράλληλα Συστήματα, Κατανεμημένα Συστήματα, Πλέγματα, Συστοιχίες Υπολογιστών, Προβλεπτικός Έλεγχος, Γενικευμένος Προβλεπτικός Έλεγχος, Προδιαγραφές, Μοντέλο Διεργασιών, Τετραγωνικός προγραμματισμός, Κατανεμημένες Εφαρμογές, Πολυστρωσικές Εφαρμογές, Γραφική Διεπαφή 4
5 Περιεχόμενα Εισαγωγή Οργάνωση της διατριβής ο Κεφάλαιο Στοιχεία παράλληλης και κατανεμημένης επεξεργασίας Εισαγωγή Παράλληλα υπολογιστικά περιβάλλοντα Αριθμός επεξεργαστικών μονάδων Είδος μνήμης Ροή διεργασιών και δεδομένων Περίληψη Κεφαλάιου Βιβλιογραφία Κεφαλαίου ο Κεφάλαιο Μοντέλα ανάπτυξης λογισμικού σε περιβάλλον πολυεπεξεργασίας Εισαγωγή Επικοινωνία και ανταλλαγή μηνυμάτων Είδη παραλληλίας και παράλληλων αλγορίθμων Ο νόμος του Άμνταλ Αξιολόγηση απόδοσης Αυτόματη παραλληλοποίηση Γλώσσες ταυτόχρονου προγραμματισμού Εφαρμογή της μεθόδου των πεπερασμένων στοιχείων με το μοντέλο master slave Μη συνεκτικά κατανεμημένα συστήματα Λογισμικό Ζητήματα σχεδίασης Περίληψη Κεφαλάιου Βιβλιογραφία Κεφαλαίου ο Κεφάλαιο Στοιχεία τεχνολογίας πλέγματος Εισαγωγή
6 3.2. Δυνατότητες της Τεχνολογίας Πλέγματος Εικονικοί Οργανισμοί Αξιοπιστία Προαπαιτούμενα Εφαρμογών Πλέγματος Επιπλέον Πόροι Πλέγματος Υπολογιστών Αρχιτεκτονική του πλέγματος Grid Middleware Ασφάλεια στο πλέγμα Αποστολή εργασιών στο πλέγμα Κατασκευή ενός Πλέγματος Υπολογιστών Τμήματα του Λογισμικού ενός Πλέγματος Περίληψη Κεφαλάιου Βιβλιογραφία Κεφαλαίου ο Κεφάλαιο Λογισμικά ανταλαγής μυνημάτων Το πρωτόκολλο επικοινωνίας MPI Εισαγωγή Το πρωτόκολλο επικοινωνίας MPI Κλήσεις προγραμμάτων MPI MPI C/C++ bindings Τύποι Δεδομένων του MPI Αρχικοποίηση του MPI Τερματισμός του MPI Communicators Μέγεθος του Communicator Τάξη διεργασίας Μεταφορά δεδομένων στο MPI Αποστολή δεδομένων Λήψη Δεδομένων Επιστροφή λαθών Εξειδικευμένες συναρτήσεις MPI Broadcast communications Non blocking Send και Receive Ανταλλαγή δεδομένων μεταξύ δυο διεργασιών Περίληψη Κεφαλαίου
7 4.13. Βιβλιογραφία Κεφαλαίου ο Κεφάλαιο Το μοντέλο COM : Μία τεχνική επισκόπηση Εισαγωγή Το πρόβλημα του λογισμικού των components Βασικές αρχές του COM Δυαδικό Πρότυπο Globally Unique Identifiers (GUIDs) Το COM λύνει το πρόβλημα του λογισμικού των components Βασική διαλειτουργικότητα και απόδοση Νέες Εκδόσεις (Versioning) Γλωσσική ανεξαρτησία Διαφανής διαλειτουργικότητα (Transparent Cross process Interoperability) Τοπική/απομακρυσμένη (Local/Remote) transparency Το COM και το μοντέλο Client Server Είδη Server : In Process και Out of Process COM και δομή εφαρμογής Περίληψη Κεφαλαίου Βιβλιογραφία Κεφαλαίου ο Κεφάλαιο Το μοντέλο DCOM (Distributed Component Object Model) Εισαγωγή Γιατί να γράψω μια κατανεμημένη εφαρμογή; Η αρχιτεκτονική του DCOM Components και επαναχρησιμοποίηση Ανεξαρτησία θέσης Γλωσσική ουδετερότητα Διαχείριση της σύνδεσης Εξελιξιμότητα Εύκαμπτη επέκταση Παράδειγμα Εξελισσόμενη λειτουργία: Versioning Απόδοση Εύρος ζώνης και καθυστέρηση
8 6.11. Κοινή διαχείριση της σύνδεσης μεταξύ των εφαρμογών Ασφάλεια μέσω διαμόρφωσης Ανοχή βλαβών Ευκολία στην ανάπτυξη Εγκατάσταση Διαχείριση Ουδετερότητα πρωτοκόλλου Ουδετερότητα πλατφόρμων Διαθέσιμες πλατφόρμες DCOM σε ιδεατά ιδιωτικά δίκτυα DCOM μέσω του Διαδικτύου Περίληψη Κεφαλαίου Βιβλιογραφία Κεφαλαίου ο Κεφάλαιο Ανάπτυξη Γραφικής Διεπαφής για εφαρμογές παράλληλου προγραμματισμού Εισαγωγή Αναγκαιότητα ανάπτυξης εφαρμογής Περιγραφή της εφαρμογής Εφαρμογή Client Εφαρμογή Server Περίληψη Κεφαλαίου ο Κεφάλαιο Προβλεπτικός Έλεγχος Εισαγωγή Ιστορική αναδρομή στις μεθοδολογίες ρύθμισης προβλεπτικού μοντέλου Στρατηγική Ρύθμισης Προβλεπτικού Μοντέλου Ρύθμιση Δυναμικού Μητρώου (Dynamic Matrix Control, DMC) Δυναμικά μοντέλα παλμικής και βηματικής εισόδου Ανάπτυξη ρυθμιστή DMC με βάση το μοντέλο παλμικής εισόδου Ανάπτυξη ρυθμιστή DMC για πολυμεταβλητό σύστημα Εισαγωγή περιορισμών Περίληψη Κεφαλαίου Βιβλιογραφία Κεφαλαίου ο Κεφάλαιο
9 Παραληλοποίηση αλγορίθμου γενικευμένου προβλεπτικού ελέγχου Εισαγωγή Παράλληλος πολλαπλασιασμός πινάκων Ο παράλληλος αλγόριθμος του πολλαπλασιασμού πινάκων Παράλληλη αντιστροφή πίνακα Ο παράλληλος αλγόριθμος της παράλληλης αντιστροφής πίνακα Περίληψη Κεφαλαίου Βιβλιογραφία Κεφαλαίου ο Κεφάλαιο Πειραματικά Αποτελέσματα Εισαγωγή Εκτέλεση σε συστοιχία υπολογιστών Πείραμα 1 Εκτέλεση του προγράμματος για αριθμό εισόδων 50 και αριθμό εξόδων Πείραμα 2 Εκτέλεση του προγράμματος για αριθμό εισόδων 60 και αριθμό εξόδων Πείραμα 3 Εκτέλεση του προγράμματος για αριθμό εισόδων 80 και αριθμό εξόδων Συμπεράσματα Παράτμημα Α Δημιουργία Συστοιχίας Υπολογιστών Εισαγωγή Εγκατάσταση MPICH2 σε Microsoft Windows XP
10 Κατάλογος Πινάκων Πίνακας 4 1 : Τύποι δεδομένων του MPI για C/C Πίνακας 6 1 :. Η απόδοση για το COM και το DCOM σε διάφορους τύπους επεξεργαστών. 97 Πίνακας 8 1 : Διαστάσεις πινάκων αλγορίθμου DMC Πίνακας 10 1 : Τιμές των παραμέτρων των πειραμάτων Πίνακας 10 2 : Πειραματικά αποτελέσματα για αριθμό εισόδων 50, αριθμό εξόδων 30 Μονός πυρήνας Πίνακας 10 3 : Πειραματικά αποτελέσματα για αριθμό εισόδων 50, αριθμό εξόδων 30 Διπλός πυρήνας Πίνακας 10 4 : Πειραματικά αποτελέσματα για αριθμό εισόδων 60, αριθμό εξόδων 40 Μονός πυρήνας Πίνακας 10 5 : Πειραματικά αποτελέσματα για αριθμό εισόδων 60, αριθμό εξόδων 40 Διπλός πυρήνας Πίνακας 10 6 : Πειραματικά αποτελέσματα για αριθμό εισόδων 80, αριθμό εξόδων 60 Μονός πυρήνας Πίνακας 10 7 : Πειραματικά αποτελέσματα για αριθμό εισόδων 80, αριθμό εξόδων 60 Διπλός πυρήνας
11 Κατάλογος Εξισώσεων Εξίσωση 2 1 : Ο νόμος του Άμνταλ Εξίσωση 8 1 : Μοντέλο παλμικής επιβολής Εξίσωση 8 2 : Άθροισμα πεπερασμένων όρων Εξίσωση 8 3 : Πρόβλεψη μεταβλητής εξόδου Εξίσωση 8 4 : Πολυμεταβλητό σύστημα Εξίσωση 8 5 : Έξοδος σε βηματική είσοδο Εξίσωση 8 6 : Πρόβλεψη εξόδου για σύστημα μιας εισόδου και μιας εξόδου Εξίσωση 8 7 : Παράγοντας διαταραχής Εξίσωση 8 8 : Σφάλμα Ν επόμενων χρονικών στιγμών Εξίσωση 8 9 : Μετασχηματισμός πινάκων για παλμική είσοδο Εξίσωση 8 10 : Απλοποίηση πρόβλεψης σφάλματος Εξίσωση 8 11 : Αντικειμενική συνάρτηση Εξίσωση 8 12 : Ομαδοποίηση συντελεστών βάρους Εξίσωση 8 13 : Δομή αλγορίθμου πλυμεταβλητού συστήματος Εξίσωση 8 14 : Πλήθος εξισώσεων γινομένου nin nout Εξίσωση 8 15 : Σύστημα ανισώσεων nin μεταβλητών εισόδου Εξίσωση 8 16 : Γραμμική ανισότητα μητρώων Εξίσωση 8 17 : Αντικειμενική Συνάρτηση Εξίσωση 8 18 : Μορφή τετραγωνικού προγραμματισμού Εξίσωση 8 19 : Τετραγωνικός προγραμματισμός Προβλεπτικού ελέγχου με προδιαγραφές Εξίσωση 9 1 : Βήματα επόμενου ελέγχου Εξίσωση 9 2 : Μορφή Πίνακα Α με υποπίνακες Εξίσωση 9 3 : Υπολογισμός πίνακα C ως γίνομενο Πινάκων με Υπο πίνακες Εξίσωση 9 4 : Μέθοδος απαλοιφής Gauss Jordan Εξίσωση 9 5 : Αποτέλεσμα απαλοιφής με τη μέθοδο Gauss Jordan Εξίσωση 9 6 : Μορφή πινάκων με υποπίνακες αντίστοιχου τύπου Εξίσωση 10 1 : Η επιτάχυνση των υπολογισμών
12 Κατάλογος Σχημάτων Σχήμα 1 1: Υπολογιστικό Περιβάλλον Κοινής Μνήμης Σχήμα 1 2 : Τοπολογία Υπολογιστικού Συστήματος με χρήση διαύλων και τοπικές μνήμες 21 Σχήμα 1 3 : Δομές επεξεργαστών διαύλων Σχήμα 1 4 : Ροές δεδομένων σε επίπεδο τοπικής μνήμης Σχήμα 1 5 : Αυτονομία SISD σε μοντέλο MIMD Σχήμα 5 1 : VBTables Σχήμα 5 2 : Client Server επικοινωνία Σχήμα 6 1 : COM components στην ίδια διαδικασία Σχήμα 6 2 : COM components σε διαφορετικές διαδικασίες Σχήμα 6 3 : COM components σε διαφορετικά μηχανήματα Σχήμα 6 4 : Ανεξαρτησία θέσης Σχήμα 6 5 : Παράλληλη επέκταση Σχήμα 6 6 : Απομονώνοντας τα βασικά components Σχήμα 6 7 : Pipelining Σχήμα 6 8 : «Δυνατή» εξελιξημότητα Σχήμα 6 9 : Συγκεντρωμένος έλεγχος του χρόνου ζωής Σχήμα 6 10 : Κατανεμημένο component για ανοχή βλαβών Σχήμα 6 11 : DCOM σε ιδεατό ιδιωτικό δίκτυο Σχήμα 7 1 : Αλληλουχία βημάτων για την εκτέλεση παράλληλου προγράμματος... Error! Bookmark not defined. Σχήμα 8 1 : Σχηματική αναπαράσταση ρυθμιστή προβλεπτικού μοντέλου Σχήμα 8 2 : Απόκριση σε παλμική είσοδο Σχήμα 8 3 : Απόκριση σε βηματική είσοδο Σχήμα 8 4 : Απεικόνιση πολυμετάβλητου συστήματος Σχήμα 9 1 : Αλγόριθμος GPC Σχήμα 9 2 : Αποστολή πίνακα Β σε διεργασίας Σχήμα 9 3 : Αποστολή υποπινάκων σε διεργασίες Σχήμα 9 4 : Τοπικός Πολλαπλασιασμός σε κάθε διεργασία Σχήμα 9 5 : Αποστολή αποτελεσμάτων από τις δευτερεύουσες διεργασίες στην κύρια Σχήμα 10 1 : Γραφικές καμπύλες επιτάχυσνης για αριθμό εισόδων 50, αριθμό εξόδων Σχήμα 10 2 : Γραφικές καμπύλες επιτάχυσνης για αριθμό εισόδων 60, αριθμό εξόδων Σχήμα 10 3 : Γραφικές καμπύλες επιτάχυσνης για αριθμό εισόδων 60, αριθμό εξόδων
13 Κατάλογος Εικόνων Εικόνα 3 1 : Επίπεδα δομών Σύνθεση Πλέγματος Εικόνα 6 1 : Υπηρεσίες των COM μέσα από τον πίνακα ελέγχου της οικογένειας λειτουργικών Windows της Microsoft Εικόνα 7 1 : Στιγμιότυπο της διεπαφής του MPICH Εικόνα 7 2 : Ρυθμίσεις του firewall των Windows Εικόνα 7 3 : Γενικό στιγμιότυπο της διεπαφής client Εικόνα 7 4 : Χώρος εποπτείας πόρων συστήματος συστοιχίας ανενεργός κατάσταση Master Node Εικόνα 7 5 : Λεμπτομέρια της διεπαφής client παράθυρο συγγραφής κώδικα Εικόνα 7 6 : Ρυθμίσεις που παρέχονται για την συμβολομετάφραση του κώδικα Εικόνα 7 7 : Χώρος εποπτείας πόρων συστήματος συστοιχίας ανενεργός κατάσταση Slave Nodes Εικόνα 7 8 : Γραφήματα απόδοσης σε πραγματικό χρόνο... Error! Bookmark not defined. Εικόνα 7 9 : Παράθυρο εισαγωγής νέου αντικειμένου Εικόνα 7 10 : Νέο Remote Data Module Εικόνα 7 11 : H μη ορατή διεπαφή της υπηρεσίας του server
14 Εισαγωγή Τα τελευταία χρόνια, γινόμαστε μάρτυρες της ραγδαίας ανάπτυξης των συστημάτων πληροφορικής, τόσο σε επίπεδο λογισμικού(software) όσο και σε επίπεδο υλικού (hardware). Με το πέρασμα των χρόνων, η έννοια της πληροφορίας αποκτά ολοένα και μεγαλύτερη σημασία καθιστώντας, την υλοποίηση των συστημάτων διαχείρισης αυτής, ολοένα και πιο σημαντική υπόθεση. Σήμερα, σύγχρονα συστήματα παράλληλης και πολλαπλής επεξεργασίας πληροφορίας υλοποιούνται με γοργούς ρυθμούς τόσο σε ιδιωτικές εταιρείες όσο και στο δημόσιο τομέα, συμβάλοντας έτσι στην επίλυση δύσκολών υπολογιστικών προβλημάτων, στην προβλεπτική συμπεριφορά σύστημάτων π.χ. μετερεολογικών μοντέλων, σεισμολογικών προβλέψεων, βιομηχανικού ελέγχου αλλά και στην άμεση και γρήγορη εξαγωγή ορθών αποτελεσμάτων μεγάλου αριθμού πράξεων. Παρόλη όμως τη σημαντική πρόοδο που έχει γίνει, υπάρχουν ακόμη περιοχές στο χώρο της παράλληλης και κατανεμημένης επεξεργασίας όπου οι συνθήκες επιδέχονται σημαντικής βελτίωσης. Μια από τι περιοχές αυτές είναι εκείνη που έχει να κάνει με την σε πραγματικό χρόνο εποπτεία των πόρων και των διεργασιών που επιτελούνται σε ένα τέτοιο σύστημα παράλληλης πολυεπεξεργασίας. Επέκταση αυτής της έλειψης, είναι η απούσία εργαλείων αποσφαλμάτωσης σε προγραμματιστικό επίπεδο των κατανεμημένων εφαρμογών. Σκοπός της παρούσας διατριβής είναι αφού πρωταρχικά μελετήσει τις παρούσες τεχνολογίες σύνθεσης και κατασκευής κατανεμημένων εφαρμογών, να θέσει τις βάσεις για την ανάπτυξη τέτοιων λογισμικών παρουσιάζοντας μια πρότυπη εφαρμογή με τις αντίστοιχες διεπαφές της για περιπτώσεις κατανεμημένου προγραμματισμού. Η εφαρμογή αυτή που θα παρουσιασθεί εποπτεύει από πλευρας πόρων και διεργασιών μια συστοχία υπολογιστών σε πραγματικό χρόνο ένω μπορεί να αποτελέσει, αφού πρόκειται για κατανεμημένη εφαρμογή, τον πρόδρομο κατασκευής εφαρμογών αποσφαλμάτωσης σε συστήματα πολυεπεξεργασίας. Οργάνωση της διατριβής Στο 1ο κεφάλαιο γίνεται μια συνολική αναφορά στα σύστημα παράλληλης και κατανεμημένης επεξεργασίας. Γίνεται μια προσπάθεια διάκρισης των συστημάτων ανάλογα με το αριθμό των υπολογιστικών μονάδων, το είδος μνήμης, και τον τρόπο επικοινωνίας των διεργασιων τους. 14
15 Το Κεφάλαιο 2 αναφέρεται στα ποικίλα μοντέλα ανάπτυξης λογισμικού σε περιβάλλοντα πολυεπεξεργασίας. Γίνεται παράλληλα αναφορά στον τρόπο με τον οποίο επιτυχγάνεται η επικοινωνία και ανταλλαγή μηνυμάτων ανάμεσα στις επεξεργαστικές μονάδες ενός κατανεμημένου συστήματος. Παρουσιάζονται τα είδη αλγοριθμικής παραλληλίας ενώ ορίζεται ο τρόπος με τον οποίο αξιολογούνται οι τελευταίοι. Γίνεται επιπλέον αναφορά στο μοντέλο master slave και στη διαμέριση των διεργασιών σε αυτά καθώς και στα μη συνεκτικά κατανεμημένα συστήματα. Τέλος θέτωνται τα πρώτα ζητήματα σχεδίασης πολυυπολογιστικών συστημάτων. Στο 3ο κεφάλαιο γίνεται εκτενής αναφορά σε στοιχεία τεχνολογίας πλέγματος, τις δυνατότητες που αυτά προσφέρουν από πλευράς υπολογισμών και δυνατοτήτων. Στη συνέχεια μελετάται η αξιοπιστία που παρέχει ένα πλέγμα υπολογιστών σε συνδιασμό με την ύπαρξη ενός εικονικού οργανισμού, ενώ γινεται αναφορά στους πόρους που αυτά απαιτούν αλλά και στο τρόπο που τα τελευταία δομούνται. Δίνονται ορισμοί όπως αυτοί του middleware ενώ παράλληλα γίνεται συζήτηση για θέματα ασφάλειας στο πλέγμα. Τέλος παρουσιάζονται τα τμήματα του λογισμικού ενός πλέγματος ενώ γίνεται μια σύντομη αναφορά σε τρόπους κατασκευής τους. Το κεφάλαιο 4 πραγματεύεται σχετικά με τα λογισμικά ανταλλαγής μηνυμάτων και ειδικότερα του πρωτοκόλλου επικοινωνίας MPI. Δίνονται οι αρχικοί ορισμοί σε θέματα επικοινωνίας μυνημάτων ενώ παρουσιάζονται αναλυτικά όλοι οι τύποι δεδομένων και ορισμοί των συναρτήσεων εντολών που αυτό περιλαμβάνει. Σε κάθε μια από τι εντολές του MPI δίνεται το αντίστοιχο πρότυπο της σύναρτησης με περιγραφή των ορισμάτων εισόδου και εξόδου. Στο 5ο κεφάλαιο αναλύεται και παρουσιάζεται το μοντέλο COM, από τεχνική πλευρά, παρουσιάζοντας μια μικρή εισαγωγή στην τεχνολογία COM, στις βασικές αρχές του και στην αποδοτικότητα του κατά την χρήση του σε εφαρμογές. Παράλληλα αναλύεται το μοντέλο Client Server, σε σχέση με την τεχνολογία COM, καθώς επίσης και η δομή μιας εφαρμογής, που χρησιμοποιεί το συγκεκριμένο μοντέλο. Στο 6ο κεφάλαιο παρουσιάζεται το μοντέλο DCOM και αναφέρονται οι λόγοι για τους οποίους χρησιμοποιείται από μία εφαρμογή, η αρχιτεκτονική του και τα χαρακτηριστικά του. Γίνεται επίσης, αναφορά στην ευκολία που παρουσιάζει στην ανάπτυξη εφαρμογών, στην εγκατάσταση και στην διαχείριση του. Στο 7ο κεφάλαιο αρχίζει η περιγραφή του κυρίας εφαρμογής. Αρχικά παρουσιάζεται η κατάσταση που επικρατεί, στο χώρο ανάπτυξης και εποπτείας εφαρμογών παράλληλου προγραμματισμού. Με βάση τα μεγάλα μειονεκτήματα που υπάρχουν στο χώρο ελέγχου τόσο των πόρων όσο και των διεργασιών προτείνεται η κατασκευή μιας εφαρμογής κατανεμημένου προγραμματισμού για 15
16 την αποστολή παράλληλων προγραμματών σε συστοιχία υπολογιστών αλλά και για την εποπτεία της τελευταίας σε πραγματικό χρόνο. Γίνεται ανάλυση της εφαρμογής σύμφωνα με την αρχιτεκτονική DCOM ενώ παρουσιάζονται με λεπτομέρειες οι διεπαφές του καθώς και ο τρόπος επικοινωνίας των τμηματων της. Ο έλεγχος της απόδοσης από πλευράς χρόνου και ταχύτητας εκτελέσεων των πράξεων της εφαρμογής γίνεται με εφαρμογή σε αυτή, ενός παράλληλου αλγοριθμου, και με αντιπαράθεση των πειραματικών αποτελεσμάτων που προκυπτουν με αυτά που εξάγονται μόνο με χρήση του ενδιάμεσου λογισμικού. Ο αλγόριθμος αυτός που επιλέχθηκε είναι αυτός του Γενικευμένου Προβλεπτικού Ελέγχου και παρουσιάζεται από μαθηματικής σκοπιάς στο 8 ο κεφάλαιο. Το 9 ο κεφάλαιο παρουσιάζει τον τρόπο και τις τεχνικές με τον οποίο παραλληλοποιήθηκε ο αλγόριθμος του γενικευμένου προβλεπτικού ελέγχου προκειμένου να τεθεί σε δοκιμασία από την εφαρμογή μας. Στο τελευατίο 10 ο κεφάλαιο, παρουσιάζονται τα πειραματικά αποτελέσματα του αλγορίθμου από τη χρήση στην εφαρμογής μας τα οποία έρχονται σε αντιπαράθεση με εκέινα που προκύπτουν μόνο με χρήση της ενδιάμεσης εφαρμογής. 16
17 1ο Κεφάλαιο Στοιχεία παράλληλης και κατανεμημένης επεξεργασίας 1.1. Εισαγωγή Στην επιστήμη υπολογιστών παράλληλα, κατανεμημένα ή ταυτόχρονα συστήματα ονομάζονται υπολογιστές οι οποίοι επιτρέπουν την ταυτόχρονη εκτέλεση πολλαπλών συνεργαζόμενων προγραμμάτων σε μία ή περισσότερες επεξεργαστικές μονάδες. Οι διαφορές μεταξύ αυτών των όρων είναι λεπτές, με την έμφαση να δίνεται άλλοτε στον σχεδιασμό και ανάλυση αλγορίθμων, άλλοτε στην κατασκευή υποστηρικτικού λογισμικού και άλλοτε στη σχεδίαση των υποδομών υλικού που απαιτούνται για την επίτευξη του ταυτοχρονισμού. Ο Cray 2, ο ταχύτερος υπολογιστής του κόσμου από το 1985 έως το Μία παραδοσιακή χρήση του υπολογιστικού παραλληλισμού είναι στον τομέα της κατασκευής τέτοιων υπερυπολογιστών. Κατά τη δεκαετία του 1960 η εμφάνιση πολυδιεργασιακών λειτουργικών συστημάτων και η τυποποίηση της έννοιας της διεργασίας έφεραν στην επιφάνεια τον ταυτοχρονισμό, μία ιδιότητα των υπολογιστικών συστημάτων η οποία αφορά την παράλληλη ή ψευδοπαράλληλη εκτέλεση διαφορετικών, συνεργαζόμενων διεργασιών, σε έναν ή περισσότερους υπολογιστές, για την εκτέλεση ενός υπολογισμού. Αρχικώς οι επιστήμονες της θεωρητικής πληροφορικής επιχείρησαν να δώσουν απαντήσεις σε αλγοριθμικά ζητήματα λογισμικού όπως ο αμοιβαίος αποκλεισμός, η εκλογή αρχηγού, ο συγχρονισμός και η ομοφωνία μεταξύ συνεργαζόμενων, ταυτοχρόνως εκτελούμενων διεργασιών (το πεδίο αυτό σήμερα προσδιορίζεται με τον όρο κατανεμημένος υπολογισμός), ενώ με τις μεθόδους πρακτικής υλοποίησης της πολυδιεργασίας (τον χρονοπρογραμματισμό) ασχολήθηκαν οι ερευνητές από τον χώρο των λειτουργικών συστημάτων. Με την καθιέρωση υπολογιστών με πολλαπλούς επεξεργαστές, όπου οι διεργασίες μπορούσαν να εκτελούνται πραγματικά παράλληλα και όχι ψευδοπαράλληλα, προέκυψαν νέα ζητήματα υλικού με αποτέλεσμα να αναδυθεί η παράλληλη επεξεργασία, ένα επιστημονικό πεδίο το οποίο μελετά, τόσο από πλευράς υλικού όσο και λογισμικού, μόνο υπολογιστικά συστήματα με πολλαπλές επεξεργαστικές μονάδες. Τα συστήματα αυτά μπορούν να εκτελούν ορισμένες, κατάλληλα σχεδιασμένες εφαρμογές (συνήθως επιστημονικού σκοπού, π.χ. προσομοιώσεις) ταχύτερα απ' ότι οι συνηθισμένοι σειριακοί υπολογιστές 17
18 αρχιτεκτονικής Φον Νόιμαν. Την ίδια περίοδο όμως εξελίσσονταν και τα δίκτυα υπολογιστών με αποτέλεσμα, καθώς η δικτύωση άρχισε να είναι πανταχού παρούσα προς τα τέλη της δεκαετίας του 1970, να εμφανιστούν δικτυακά προγράμματα που όχι μόνο αλληλεπιδρούσαν μεταξύ τους μέσω της υποκείμενης δικτυακής υποδομής αλλά εκτελούσαν από κοινού υπολογισμούς με διαφανή για τον χρήστη τρόπο, διασπώντας τους σε τμήματα και κατανέμοντάς τους μεταξύ τους, ενώ στο εξωτερικό περιβάλλον εμφανίζονταν ως ένα μοναδικό σύστημα. Καθώς αυτός ήταν ένας τύπος παραλληλισμού εμφανίστηκε ο όρος κατανεμημένη επεξεργασία για να τον περιγράψει. Η κατανεμημένη επεξεργασία αποτελεί ένα υποσύνολο της παράλληλης επεξεργασίας, στο οποίο όλες οι CPU έχουν ιδιωτικές, τοπικές μνήμες με ξεχωριστούς χώρους διευθύνσεων (είναι δηλαδή ανεξάρτητοι, δικτυωμένοι υπολογιστές) και παρέχουν στον χρήστη την ψευδαίσθηση του ενιαίου, μοναδικού συστήματος. Ο όρος «κατανεμημένο σύστημα» αναφέρεται τόσο στο υλικό (επεξεργαστές, μνήμες, δίκτυο) όσο και στο λογισμικό (λειτουργικό σύστημα, εφαρμογές) που είναι απαραίτητα για να υλοποιηθούν η κατανομή και αυτή η ψευδαίσθηση, με έμφαση όμως στο λογισμικό. Στα κατανεμημένα συστήματα, σε αντίθεση με τα παράλληλα, η εικόνα συνεκτικότητας των γεωγραφικά διεσπαρμένων πόρων είναι συνήθως σπουδαιότερος στόχος από την αύξηση των υπολογιστικών επιδόσεων που επιτυγχάνεται με τον παραλληλισμό. Δεν είναι σπάνιο μάλιστα να μη συμμετέχουν καν οι κόμβοι σε κάποιον από κοινού υπολογισμό αλλά να εκτελούν διαφορετικές επιμέρους εργασίες, παρουσιαζόμενοι όμως στο εξωτερικό περιβάλλον (π.χ. σε πελάτες οι οποίοι ζητούν υπηρεσίες) ως ενιαίο σύστημα. Αυτά ονομάζονται μη συνεκτικά κατανεμημένα συστήματα (π.χ. ο Παγκόσμιος Ιστός ή οι ομότιμες εφαρμογές ανταλλαγής αρχείων μέσω Διαδικτύου), σε αντίθεση με τα συνεκτικά κατανεμημένα συστήματα, τα οποία αξιοποιούνται περισσότερο ως συνήθη παράλληλα συστήματα για τη μεγιστοποίηση των υπολογιστικών επιδόσεων Παράλληλα υπολογιστικά περιβάλλοντα Υπάρχουν πολλοί τύποι υπολογιστικών συστημάτων με δυνατότητες πολυεπεξεργασίας τα οποία μπορούν να χωρισθούν σε κατηγορίες ανάλογα με τον αριθμό των επεξεργαστών, το είδος της μνήμης και τον τρόπο ανταλλαγής μηνυμάτων μεταξύ των επεξεργαστών. Οι κύριες κατηγορίες παράλληλων υπολογιστών, ανάλογα με τον τύπο των βασικών χαρακτηριστικών τους, παρουσιάζονται παρακάτω. 18
19 Αριθμός επεξεργαστικών μονάδων Ανάλογα με τον αριθμό των επεξεργαστικών μονάδων, τα παράλληλα υπολογιστικά περιβάλλοντα διακρίνονται σε: Πυκνής δομής (fine grained) ή μαζικής παραλληλίας (massively parallel) όταν αποτελούνται από μερικές εκατοντάδες επεξεργαστικές μονάδες Μεσαίας δομής (medium grained) όταν αποτελούνται από μερικές δεκάδες επεξεργαστικές μονάδες και Αραιής δομής (coarse grained) όταν αποτελούνται από μερικούς επεξεργαστές. Επειδή ο αριθμός των επεξεργαστικών μονάδων ενός παράλληλου υπολογιστικού περιβάλλοντος υψηλών επιδόσεων μπορεί να αυξομειώνεται, ένα πολύ σημαντικό χαρακτηριστικό των παράλληλων υπολογιστικών συστημάτων είναι η επεκτασιμότητα τους (scalability), δηλαδή η ιδιότητά τους να επιτυγχάνουν γραμμική αύξηση (στην ιδανική περίπτωση) της απόδοσής τους με την αύξηση του αριθμού των επεξεργαστών. Τα πιο οικονομικά συστήματα παράλληλης επεξεργασίας είναι τα δίκτυα σταθμών εργασίας (workstation networks). Εντούτοις, στην περίπτωση αυτή περιορίζεται η αύξηση της αποτελεσματικότητας του δικτύου με την προσθήκη νέων επεξεργαστικών μονάδων (σταθμοί εργασίας workstations) εξαιτίας της σχετικά αργής επικοινωνίας μεταξύ των επεξεργαστικών μονάδων. Για να επιτευχθεί ικανοποιητική βελτίωση της απόδοσης του συστήματος θα πρέπει η ανταλλαγή δεδομένων μεταξύ των επεξεργαστικών μονάδων να πραγματοποιείται σε μικρό χρονικό διάστημα σε σχέση με αυτό που απαιτείται για τους τοπικούς υπολογισμούς οι οποίοι πραγματοποιούνται σε κάθε επεξεργαστική μονάδα Είδος μνήμης Το είδος μνήμης είναι το σημαντικότερο χαρακτηριστικό των παράλληλων υπολογιστικών συστημάτων διότι επηρεάζει σε μεγάλο βαθμό τον τρόπο ανάπτυξης λογισμικού. Έτσι, ανάλογα με το είδος μνήμης, τα παράλληλα υπολογιστικά περιβάλλοντα διακρίνονται σε: 19
20 Κοινής μνήμης (shared memory) στα οποία τα δεδομένα του προβλήματος αποθηκεύονται σε μνήμη η οποία είναι διαθέσιμη σε όλες τις επεξεργαστικές μονάδες του υπολογιστικού συστήματος και σε Κατανεμημένης μνήμης (distributed memory) στα οποία τα δεδομένα του προβλήματος κατανέμονται στις τοπικά προσπελαυνόμενες μνήμες των επεξεργαστικών μονάδων του υπολογιστικού συστήματος. Το πρώτο είδος υπολογιστικών συστημάτων συναντάται σε συστήματα υπολογιστών με λίγες επεξεργαστικές μονάδες (αραιής δομής), συνήθως 4 ως και 16, αλλά μεγάλης ισχύος (π.χ. CRAY ή SGI). Σχήμα 1 1: Υπολογιστικό Περιβάλλον Κοινής Μνήμης Τα μειονεκτήματα ενός τέτοιου είδους υπολογιστικών συστημάτων είναι αφενός το μεγάλο κόστος αγοράς και αφετέρου η μέτρια προς κακή επεκτασιμότητά τους αφού η προσπέλαση της κοινής μνήμης γίνεται μέσω διαύλων επικοινωνίας πεπερασμένου εύρους ζώνης (bandwidth). Έτσι, η αύξηση του αριθμού των επεξεργαστικών μονάδων αυξάνει τη συχνότητα προσπέλασης στην κοινή μνήμη και έχει ως αποτέλεσμα τη συμφόρηση των διαύλων επικοινωνίας και κατά συνέπεια πτώση της απόδοσής τους. Τα πλεονεκτήματα ενός τέτοιου υπολογιστικού συστήματος είναι αφενός η αποτελεσματικότερη επικοινωνία μεταξύ των επεξεργαστών (αφού δεν έχομε μετακίνηση δεδομένων από και προς τις τοπικές μνήμες των επεξεργαστών), γεγονός το οποίο συνεπάγεται μεγαλύτερη απόδοση σε σχέση με τα κατανεμημένης μνήμης, και αφετέρου η ευκολότερη συγγραφή και παραγωγή κατάλληλου 20
21 λογισμικού σε σχέση με αυτή των υπολογιστικών συστημάτων κατανεμημένης μνήμης. Το δεύτερο είδος υπολογιστικών συστημάτων είναι ένα είδος στο οποίο κάθε επεξεργαστική μονάδα έχει τη δική του μνήμη την οποία δε μοιράζεται με τους υπόλοιπους. Απλώς ανταλλάσσει δεδομένα με μερικές ή και όλες τις υπόλοιπες επεξεργαστικές μονάδες με τη χρήση κατάλληλων διαύλων. Σχήμα 1 2 : Τοπολογία Υπολογιστικού Συστήματος με χρήση διαύλων και τοπικές μνήμες Υπάρχουν διάφορες τοπολογίες υπολογιστών με κατανεμημένη μνήμη, όπως π.χ. σειράς, δακτυλίου, καννάβου κλπ. Οι παράμετροι οι οποίες χαρακτηρίζουν αυτή την τοπολογία του δικτύου είναι οι εξής: Η διάμετρος η οποία ορίζεται ως η μέγιστη απόσταση την οποία πρέπει να διανύσει ένα μήνυμα μεταξύ δύο κόμβων 21
22 Ο βαθμός κάθε κόμβου ο οποίος ορίζεται ως ο αριθμός των συνδέσεων του με άλλους κόμβους Οι ως άνω παράμετροι είναι καθοριστικής σημασίας για μια τοπολογία δικτύου διότι επηρεάζουν σημαντικά το κόστος και την απόδοσή τους. Τα μειονεκτήματα ενός τέτοιου είδους υπολογιστικών συστημάτων αφενός η δυσκολότερη συγγραφή κατάλληλου λογισμικού το οποίο να εκμεταλλεύεται στο έπακρο την επεξεργαστική ισχύ ενός τέτοιου συστήματος και αφετέρου η επικοινωνία μεταξύ των επεξεργαστικών μονάδων είναι πιο αργή σε σχέση με αυτή των συστημάτων κοινής μνήμης. Αυτό οφείλεται στη χρήση διαύλων μικρότερου εύρους ζώνης και στο γεγονός ότι τα μηνύματα μεταξύ των επεξεργαστικών μονάδων συνήθως περιέχουν πολύ μεγαλύτερη ποσότητα δεδομένων, συγκρινόμενα με αυτά των συστημάτων κοινής μνήμης, διότι σε αυτά πολλές φορές ενυπάρχουν δεδομένα τα οποία δεν είναι διαθέσιμα σε όλες τις επεξεργαστικές μονάδες. Σχήμα 1 3 : Δομές επεξεργαστών διαύλων Το μεγάλο πλεονέκτημα ενός τέτοιου είδους επεξεργαστικού συστήματος είναι ότι η κατασκευή του μπορεί να γίνει με επεξεργαστικές μονάδες μικρού κόστους. Έτσι, είναι εφικτή η κατασκευή ενός ισχυρού υπολογιστικού συστήματος με σχετικά χαμηλό κόστος με τη συνεχή προσθήκη επεξεργαστικών μονάδων. Σε αυτή την κατηγορία ανήκουν και τα δίκτυα σταθμών εργασίας στα οποία οι 22
23 υπολογιστές συνδέονται με καλώδια συρμάτινα ή οπτικών ινών και η παράλληλη εκτέλεση των προγραμμάτων γίνεται με τη χρήση κατάλληλου προγραμματιστικού μέσου διασύνδεσης για εφαρμογές (application programming interface API) για το οποίο θα κάνουμε ιδιαίτερη μνεία σε επόμενο κεφάλαιο Ροή διεργασιών και δεδομένων Κάθε ηλεκτρονικός υπολογιστής έχει, όπως είναι γνωστό, τρία βασικά μέρη: τη μονάδα ελέγχου, τη μονάδα υπολογισμών (ή επεξεργαστή) και τη μνήμη. Οι παράλληλοι υπολογιστές δεν έχουν απαραίτητα πολλαπλά αντίγραφα των ανωτέρω τμημάτων, εκτός από τη μονάδα υπολογισμών. Όπως ήδη έχουμε αναφέρει παραπάνω, η μνήμη μπορεί να είναι κοινή ή κατανεμημένη και κατά ανάλογο τρόπο μπορεί να υπάρχουν μια ή πολλαπλές μονάδες ελέγχου οι οποίες να «δίνουν» οδηγίες (instructions) και δεδομένα (data) στις μονάδες υπολογισμών. Σχήμα 1 4 : Ροές δεδομένων σε επίπεδο τοπικής μνήμης Έτσι σύμφωνα με την ταξινόμηση κατά Flynn, τα είδη παράλληλων αρχιτεκτονικών είναι τα εξής: SISD (Single Instruction Single Data) το οποίο είναι το απλό ακολουθιακό (sequential) μοντέλο υπολογισμών όπου διεξάγεται μία σειρά υπολογισμών ανά ομάδα δεδομένων SIMD (Single Instruction Multiple Data) στο οποίο οι επεξεργαστικές μονάδες εκτελούν τις ίδιες πράξεις με διαφορετικά δεδομένα. Αυτή η αρχιτεκτονική είναι κατάλληλη για παραλληλία μικρού όγκου υπολογισμών (data loop parallelism ή fine grain parallelism) και είναι ανεφάρμοστη σε συστήματα με πολλές επεξεργαστικές μονάδες MISD (Multiple Instruction Single Data) το οποίο είναι το αντίστροφο του μοντέλου SIMD το οποίο και αποτελεί απλώς μία θεωρητική δυνατότητα με αδυναμία εφαρμογής σε πρακτικά προβλήματα MIMD (Multiple Instruction Multiple Data) στο οποίο κάθε επεξεργαστική μονάδα έχει την αυτονομία ενός SISD μοντέλου για αυτό και αποτελεί τη μόνη αρχιτεκτονική γενικής εφαρμογής αφού δεν αντιμετωπίζει τα προβλήματα κανονικότητας των δεδομένων και συγχρονισμού της αρχιτεκτονικής SIMD. 23
24 Σχήμα 1 5 : Αυτονομία SISD σε μοντέλο MIMD Οι συνηθέστερες αρχιτεκτονικές είναι τύπου SIMD ή τύπου MIMD με την επικρατέστερη να είναι τύπου MIMD. Σε αυτό το σημείο θα ήταν σκόπιμο να υπενθυμίσουμε ότι εκτός από τα κανονικά συστήματα πολυεπεξεργασίας, μπορούμε να χρησιμοποιήσουμε ένα δίκτυο υπολογιστών, είτε σειριακών είτε παράλληλων, ως ένα ενιαίο υπολογιστικό περιβάλλον πολυεπεξεργασίας με τη χρήση κατάλληλου API. Τα πιο διαδεδομένα λογισμικά αυτού του τύπου είναι τα PVM (Parallel Virtual Machine) και MPI (Message Passing Interface) με το οποίο και θα ασχοληθούμε εκτενέστερα σε επόμενο κεφάλαιο Περίληψη Κεφαλάιου Στο κεφάλαιο αυτό έγινε μία προσπάθεια να δοθούν οι βασικές έννοιες του τομέα της επιστήμης των υπολογιστών που ασχολείται με παράλλήλα και κατανεμημένα συστήματα. Συνάμα έγινε μια σύντομη ιστορική αναδρομή στη πορεία κατασκευής και δημιούργίας γρήγορων υπολογιστικών συστημάτων, από τη δεκαετία του 1960 εως τις ημέρες μας. Στη συνέχεια έγινε η βασική διάκριση των υπολογιστικών περιβάλοντων ανάλογα με το πλήθος των επεξεργαστικών μονάδων, τον τρόπο χρήσης και το έιδος της μνήμης που αυτά περιλαμβάνουν και έγινε μια αντιπαράθεση των πλεονεκτημάτων και μειονεκτημάτων που αυτά εμφανίζουν. 24
25 Έιναι προφανές ότι, η ανάπτυξη της επιστήμης των υπολογιστών, η έρευνα επάνω σε νέες τεχνολογίες αγώγιμων και ημιαγώγιμων υλικών, οδηγεί καθημερινά και με γεωμετρικό ρυθμό, στη υλοποίηση γρηγορότερων, αξιόπιστων αλλά και συνθετότερων περιβάλλοντων. Την ανάπτυξη αυτή ακολούθει με ραγδαίους ρυθμού και η ανάπτυξη λογισμικών που εκμεταλεύονται, αν όχι ολόκληρο αλλά το μεγαλύτερο τμήμα που προσφέρει η ανάπτυξη του λογισμικού. Υπάρχουν όμως σημεία όπου χρειάζεται ιδιάιτερη μέριμνα στη κατασκευή λογισμικού, ειδικά εκέινων που ασχολούνται με το παράλληλο και καταννεμημενο προγραμματισμό και σε σημεία που αναφέρονται στη φιλικότητα ως προς τον χρήστη και την εποπτεια του συστήματος Βιβλιογραφία Κεφαλαίου Computer Architecture: Pipelined and Parallel Processor Design (Computer Science Series),Jones and Bartlett Publishers, Inc ISBN PDF Pages MB 3. Conference on High Performance Networking and Computing,Proceedings of the 1988 ACM/IEEE conference on Supercomputing Orlando, Florida, United States, Pages: ,Year of Publication: 1988, ISBN: X 4. ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΕ ΠΑΡΑΛΛΗΛΟ ΠΕΡΙΒΑΛΛΟΝ, Γιώργος Σταυρουλάκης, Διπλ. Πολ. Μηχ., Διπλ. ΔΠΜΣ Υπολ. Μηχ., Υποψήφιος Διδάκτωρ Ε.Μ.Π. Νοέμβριος ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ, ΤΜΗΜΑ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ,ΔΠΜΣ ΥΠΟΛΟΓΙΣΤΙΚΗΣ ΜΗΧΑΝΙΚΗΣ, Μάθημα: Υπολογιστικές Τεχνικές και Αλγόριθμοι Επίλυσης Μέρος Ι,Διδάσκων: Μανόλης Παπαδρακάκης, Καθηγητής Ε.Μ.Π 6. systems
26 2ο Κεφάλαιο Μοντέλα ανάπτυξης λογισμικού σε περιβάλλον πολυεπεξεργασίας 2.1. Εισαγωγή Η ανάπτυξη αποτελεσματικών αλγορίθμων που να μπορούν να εκμεταλλευθούν πλήρως τις δυνατότητες των υπερυπολογιστών δεν είναι εύκολο έργο και βασικό ρόλο στην επίτευξη αυτού του στόχου είναι το είδος του αλγορίθμου και η αρχιτεκτονική του συστήματος. Η ανάπτυξη παράλληλου λογισμικού είναι μία διεργασία η οποία συνήθως δεν μπορεί να γίνει αυτόματα. Εντούτοις, υπάρχουν κάποια προγράμματα τα οποία παραλληλοποιούν με αυτόματο τρόπο εφαρμογές οι οποίες έχουν αναπτυχθεί σε σειριακό περιβάλλον. Τα λογισμικά αυτά έχουν δύο βασικά μειονεκτήματα: Η βελτίωση της απόδοσης των κωδίκων που επιτυγχάνουν είναι σχετικά περιορισμένη Ο παράλληλος κώδικας που προκύπτει είναι περίπλοκος αφήνοντας πολύ λίγες δυνατότητες στον προγραμματιστή Κατά συνέπεια, ο προγραμματιστής έχει δύο επιλογές: είτε να προσαρμόσει τον υπολογιστικό κώδικα που χρησιμοποιούσε σε σειριακό περιβάλλον στο παράλληλο σύστημα που διαθέτει, είτε να μορφώσει εξαρχής τον υπολογιστικό κώδικα και να τον προσαρμόσει με μεγαλύτερη αποτελεσματικότητα στις ιδιαιτερότητες της παράλληλης αρχιτεκτονικής. Στην πρώτη περίπτωης, με τη χρήση εργαλείων του παράλληλου συστήματος τα οποία εντοπίζουν τα σημεία του κώδικα τα οποία επιδέχονται παραλληλοποίηση αλλά και της γνώσης των ιδιαιτεροτήτων του υπολογιστικού συστήματος και των αλγορίθμων διαχείρισης και επίλυσης των προβλημάτων που αντιμετωπίζει ο κώδικας είναι δυνατόν να επιτευχθεί μεγάλη μείωση του πραγματικού χρόνου εκτελέσεως των υπολογισμών. Η παραλληλοποίηση των προγραμμάτων επικεντρώνεται στους επαναληπτικούς βρόχους (loops) όπου πραγματοποιείται μεγάλος όγκος υπολογισμών σε κάθε επανάληψη, πολλές φορές χωρίς να υπάρχουν εξαρτήσεις δεδομένων μεταξύ των επαναλήψεων. 26
27 2.2. Επικοινωνία και ανταλλαγή μηνυμάτων Συνήθως σε κάθε αριθμητικό αλγοριθμικό κώδικα παράλληλης επεξεργασίας είναι απαραίτητη η ανταλλαγή ή συγκέντρωση δεδομένων σε κάποια φάση των υπολογισμών. Η επικοινωνία μεταξύ των επεξεργαστών πρέπει να ρυθμίζεται κατάλληλα ούτως ώστε να μην υπάρχουν αναμονές των επεξεργαστικών μονάδων αλλά και να μην εκτελούνται υπολογισμοί με μη επικαιροποιημένα δεδομένα. Οι παράλληλοι αλγόριθμοι πρέπει να αναπτύσσονται με τέτοιο τρόπο, ούτως ώστε να υπάρχει μεγάλος όγκος ανεξάρτητων εργασιών οι οποίες να εκτελούνται παράλληλα για να ελαχιστοποιείται το επικοινωνιακό κόστος. Ακόμα, πρέπει να συγχρονίζονται οι παράλληλες διεργασίες για την αποφυγή συγκρούσεων (collisions) είτε κατά την ανάγνωση και εγγραφών κοινών μεταβλητών στη μνήμη είτε στους διαύλους επικοινωνίας. Τα σημεία όπου οι επεξεργαστικές μονάδες χρειάζεται να επικοινωνήσουν μεταξύ τους ονομάζονται σημεία συγχρονισμού (synchronization points). Η ανταλλαγή των μηνυμάτων μεταξύ των επεξεργαστικών μονάδων γίνεται με τους εξής τρόπους: Χωρίς συγχρονισμό (asynchronous communication) όπου ο αποστολέας του μηνύματος στέλνει ένα μήνυμα στον παραλήπτη και συνεχίζει τους υπολογισμούς που έχει αναλάβει χωρίς επιβεβαίωση ότι το μήνυμα ελήφθη. Με συγχρονισμό (synchronized communication) όπου ο αποστολέας του μηνύματος περιμένει επιβεβαίωση από τον παραλήπτη ότι έλαβε το μήνυμα το οποίο εστάλη και συνεχίζει μετά τους υπολογισμούς που έχει αναλάβει. Ο πρώτος τρόπος είναι και ο ταχύτερος για την ανταλλαγή μηνυμάτων αλλά ενέχει κινδύνους σε περίπτωση σφαλμάτων συστήματος (π.χ. ελαττωματικό καλώδιο σύνδεσης δικτύου) ή υπερφόρτωσης των διαύλων επικοινωνίας Είδη παραλληλίας και παράλληλων αλγορίθμων εξής: Τα είδη αλγοριθμικής παραλληλίας παρουσιάζονται παρακάτω και είναι τα Φυσική παραλληλία (natural parallelism) η οποία αφορά υπολογισμούς οι οποίοι μπορούν να πραγματοποιηθούν ταυτόχρονα χωρίς παρέμβαση του προγραμματιστή σε αλγοριθμικό επίπεδο. Τέτοιοι υπολογισμοί είναι π.χ. η μόρφωση τοπικών μητρώων στιβαρότητας ή ο υπολογισμός των τάσεων στη μέθοδο πεπερασμένων στοιχείων. Τεχνητή ή υπολογιστική παραλληλία (artificial or computational parallelism) η οποία αφορά υπολογισμούς μη επιδεχόμενους φυσική παραλληλοποίηση αλλά απαιτείται χρήση ειδικών υπολογιστικών μεθόδων σε αλγεβρικό επίπεδο για να επιτευχθεί η παραλληλοποίησή τους. Τέτοιοι 27
28 υπολογισμοί είναι π.χ. η επίλυση γραμμικών συστημάτων με τη μέθοδο του διαμερισμού των πεδίων σε υποπεδία (domain decompositioning). Είναι προφανές ότι η υλοποίηση αλγορίθμων οι οποίοι εμπίπτουν στο δεύτερο είδος της αλγοριθμικής παραλληλίας παρουσιάζουν σαφώς μεγαλύτερη δυσκολία σε σχέση με το πρώτο.τα κυριότερα μοντέλα παραλληλοποίησης διεργασιών είναι τα εξής: Pipelining or processor farming όπου όλες οι επεξεργαστικές μονάδες κάνουν χρήση του ίδιου υπολογιστικού κώδικα και των ίδιων δεδομένων. Αυτή η τεχνική έχει μειωμένες απαιτήσεις σε επικοινωνία κατά την εκτέλεση των πράξεων αλλά δεν παρουσιάζει ικανοποιητική επεκτασιμότητα σε πολλούς επεξεργαστές Geometric parallelism όπου κάθε επεξεργαστική μονάδα κάνει χρήση του ίδιου υπολογιστικού κώδικα αλλά διαφορετικών δεδομένων (π.χ. μέθοδος πεπερασμένων στοιχείων με υποφορείς) και ανταλλάσσει πληροφορίες με επεξεργαστικές μονάδες οι οποίες έχουν γειτονικά δεδομένα. Η τεχνική αυτή παρουσιάζει καλή επεκτασιμότητα άρα και ικανοποιητική επιτάχυνση των υπολογισμών Algorithmic parallelism όπου σε κάθε επεξεργαστική μονάδα έχει γίνει κατανομή όχι μόνο διαφορετικών δεδομένων αλλά και διαφορετικού υπολογιστικού κώδικα. Αυτή τεχνική έχει μεγάλο εύρος εφαρμογών αλλά επειδή συνήθως απαιτεί συχνή επικοινωνία μεταξύ των επεξεργαστικών μονάδων δεν παρουσιάζει ικανοποιητική επεκτασιμότητα λόγω υπερφόρτωσης του διαύλου επικοινωνίας. Task farming (master slave model) όπου μία από τις επεξεργαστικές μονάδες οργανώνει τις υπόλοιπες για την εκτέλεση των υπολογισμών και φροντίζει να κατανέμει ισομερώς τον υπολογιστικό φόρτο, κρατώντας κατ αυτό τον τρόπο συνεχώς απασχολημένες τις επεξεργαστικές μονάδες. Αυτή η τεχνική εφαρμόζεται μόνο σε συστήματα κατανεμημένης μνήμης, είναι αρκετά αποτελεσματική και η απόδοσή της εξαρτάται από τη διαθεσιμότητα της τοπικής μνήμης. Η επιλογή του μοντέλου παραλληλίας που θα χρησιμοποιηθεί κατά την υλοποίηση ενός αλγορίθμου εξαρτάται από το είδος του προβλήματος, δηλαδή το μέγεθος του όγκου των παράλληλων υπολογισμών (granularity) που αναλαμβάνει κάθε επεξεργαστική μονάδα. Το μέγεθος αυτό καθορίζει σε μεγάλο βαθμό και το πόσο καλά είναι μοιρασμένο το υπολογιστικό φορτίο (load balancing) στις επεξεργαστικές μονάδες.το μέγεθος των παράλληλων υπολογισμών διακρίνεται στις εξής κατηγορίες: Fine grain, όπου ο όγκος των παράλληλων υπολογισμών αποτελείται από ελάχιστες αριθμητικές πράξεις Medium grain, όπου οι παράλληλοι υπολογισμοί είναι μερικές εκατοντάδες ή χιλιάδες αριθμητικές πράξεις Large or coarse grain, όπου οι υπολογισμοί σε κάθε επεξεργαστικής μονάδας είναι αρκετά εκατομμύρια αριθμητικές πράξεις. 28
29 Η πρώτη κατηγορία μπορεί να εφαρμοσθεί αποτελεσματικά σε υπολογιστές υψηλών επιδόσεων με διανυσματικές υπολογιστικές δυνατότητες ή σε συστήματα μαζικής παραλληλίας. Η δεύτερη κατηγορία εμφανίζει καλή αναλογία παράλληλων υπολογισμών και επικοινωνιακού κόστους αλλά παρουσιάζει δυσκολίες στην εφαρμογή της σε μεγάλα προβλήματα και σε συστήματα με πολλούς επεξεργαστές. Τέλος το τρίτο είδος, το οποίο έχει την καλύτερη απόδοση αφού μειώνει στο ελάχιστο το επικοινωνιακό κόστος, είναι το πιο κατάλληλο για συστήματα κοινής μνήμης αλλά μπορεί να εμφανίσει προβλήματα όταν η κατανομή του υπολογιστικού φορτίου δεν είναι ισομερής Ο νόμος του Άμνταλ Αξιολόγηση απόδοσης Ο νόμος του Άμνταλ χρησιμοποιείται για να διαπιστωθεί η αναμενόμενη μείωση του χρόνου εκτέλεσης από την παραλληλοποίηση ενός σειριακού προγράμματος. Φέρει το όνομα του Τζιν Άμνταλ που τον πρωτοδιατύπωσε και δηλώνει ότι η επιτάχυνση ενός προγράμματος το οποίο αξιοποιεί πολλαπλούς επεξεργαστές περιορίζεται από τον χρόνο εκτέλεσης που απαιτεί το σειριακό μέρος του προγράμματος. Ο νόμος του Άμνταλ συνήθως ορίζεται με τη βοήθεια του παρακάτω μαθηματικού τύπου: Εξίσωση 2 1 : Ο νόμος του Άμνταλ Στον τύπο αυτόν η μεταβλητή P δηλώνει το ποσοστό των συνολικών υπολογισμών του προγράμματος οι οποίοι μπορούν να παραλληλοποιηθούν και η μεταβλητή Ν το πλήθος των διαθέσιμων επεξεργαστών. Για παράδειγμα, αν το P είναι 90% (0,9), τότε το (1 P) είναι 10% και το ολικό πρόγραμμα (σύμφωνα με τον τύπο του Άμνταλ) μπορεί να επιταχυνθεί το πολύ 10 φορές, όσους επεξεργαστές και αν χρησιμοποιήσουμε. Γι' αυτόν τον λόγο η παράλληλη επεξεργασία είναι χρήσιμη μόνο για περιορισμένο πλήθος επεξεργαστών (μικρό N) ή για προβλήματα με πολύ μεγάλη τιμή P (π.χ. η πρόσθεση δύο ν διάστατων διανυσμάτων έχει P 100%, αφού πρακτικώς δεν υπάρχει αποκλειστικά σειριακό τμήμα στον αλγόριθμο) Αυτόματη παραλληλοποίηση Στις περισσότερες περιπτώσεις ένα παράλληλο πρόγραμμα έχει σχεδιαστεί κατάλληλα και ο πηγαίος κώδικας έχει γραφεί από τον προγραμματιστή έτσι ώστε να υποστηρίζει παραλληλισμό («ρητός παραλληλισμός»). Επειδή η διαδικασία αυτή είναι επίπονη, χρονοβόρα και απαιτεί ειδικές γνώσεις εκ μέρους του προγραμματιστή, έχουν υπάρξει πολλές προσπάθειες για την αυτόματη παραλληλοποίηση τμημάτων σειριακού πηγαίου κώδικα (συνήθως επαναληπτικών βρόχων) από κατάλληλους μεταγλωττιστές. Στην περίπτωση αυτή ο 29
30 προγραμματιστής συγγράφει τυπικό σειριακό κώδικα, χωρίς κλήσεις σε κάποια υποστηρικτική βιβλιοθήκη όπως των νημάτων POSIX, του OpenMP ή του MPI, και κατά τη μεταγλώττιση εντοπίζονται αυτομάτως τα σημεία που επιδέχονται παραλληλισμό Γλώσσες ταυτόχρονου προγραμματισμού Πέρα από τις, συμπληρωματικές μεταξύ τους, λύσεις της αυτόματης παραλληλοποίησης και της προσθήκης εξειδικευμένων βιβλιοθηκών και επεκτάσεων σε συνήθεις γλώσσες προγραμματισμού όπως η C ή η Fortran, κατά καιρούς έχουν εμφανιστεί και ορισμένες γλώσσες προγραμματισμού σχεδιασμένες από τη βάση τους με στόχο την εγγενή υποστήριξη ταυτοχρονισμού, είτε παράλληλου είτε ψευδοπαράλληλου. Ακόμη και συνηθισμένες γλώσσες γενικού σκοπού παρέχουν κάποια στοιχειώδη εγγενή υποστήριξη για ταυτοχρονισμό και αμοιβαίο αποκλεισμό (π.χ. η Java και η C#), αλλά οι εξειδικευμένες γλώσσες ταυτόχρονου προγραμματισμού είναι βελτιστοποιημένες συγκεκριμένα προς αυτή την κατεύθυνση Εφαρμογή της μεθόδου των πεπερασμένων στοιχείων με το μοντέλο master slave Ένα παράλληλο πρόγραμμα πεπερασμένων στοιχείων υλοποιημένο με το μοντέλο task farming ή master slave διεξάγει υπολογιστικές διαδικασίες οι οποίες συνοψίζονται στα παρακάτω στάδια: Γένεση δικτύου πεπερασμένων στοιχείων (mesh generation), διαδικασία η οποία παρουσιάζει αρκετές δυσκολίες κατά την παραλληλοποίησή της και για αυτό κατά κανόνα πραγματοποιείται σειριακά από τον master κόμβο. Διαμέριση φορέα σε υποφορείς (mesh partitioning) όπου το δίκτυο πεπερασμένων στοιχείων το οποίο έχει παραχθεί ομαδοποιείται σε υποδίκτυα (submeshes), κάθε ένα από τα οποία ορίζει έναν υποφορέα (substructure or subdomain). Η διαμέριση πραγματοποιείται σειριακά από τον master κόμβο. Ακόμα, αν απαιτείται από τον αλγόριθμο επίλυσης, μπορεί το δίκτυο να χωριστεί σε αριθμό υποφορέων μεγαλύτερο του αριθμού των επεξεργαστικών μονάδων οπότε και πραγματοποιείται επιπλέον η δημιουργία ομάδων υποφορέων (subdomain cluster). Ενεργοποίηση slave κόμβων, διαδικασία κατά την οποία ο master κόμβος, έχοντας στη μνήμη ένα διαμερισμένο σε υποφορείς δίκτυο πεπερασμένων στοιχείων, ενεργοποιεί τις διαδικασίες πουεκτελούνται στους slave κόμβους και αναθέτει σε αυτούς υποφορείς ή ομάδες υποφορέων και τους εφοδιάζει με τα απαραίτητα δεδομένα, όπως συντεταγμένες κόμβων, ιδιότητες υλικών, φορτία κλπ. Τέλος, όλοι οι κόμβοι μορφώνουν τις δομές δεδομένων στις οποίες αποθηκεύονται 30
31 πληροφορίες προς αποστολή για τη διευκόλυνση της ανταλλαγής μηνυμάτων σε επόμενα στάδια. Μόρφωση μητρώου στιβαρότητας και διανύσματος επικόμβιων δράσεων για κάθε υποφορέα, όπου και αρχίζει ουσιαστικά το παράλληλο τμήμα του λογισμικού ανάλυσης με τη μέθοδο των πεπερασμένων στοιχείων. Οι slave κόμβοι υπολογίζουν παράλληλα τα μητρώα στιβαρότητας και τα διανύσματα επικόμβιων δράσεων των υποφορέων αξιοποιώντας τα δεδομένα που έχουν λάβει από τον master κόμβο στο προηγούμενο στάδιο. Κάθε slave κόμβος πραγματοποιεί τους υπολογισμούς που αντιστοιχούν στους υποφορείς που του έχουν ανατεθεί χωρίς καμία ανάγκη επικοινωνίας με τον master κόμβο. Τέλος, αν απαιτείται η μορφή αποθήκευσης των μητρώων να είναι με τη μορφή ενεργών στηλών (skyline storage), τότε γίνεται επαναρίθμηση των βαθμών ελευθερίας του κάθε υποφορέα, ούτως ώστε να μειωθούν στο ελάχιστο οι απαιτήσεις μνήμης για την αποθήκευσή τους. Η διαδικασία αυτή εκτελείται και αυτή παράλληλα από τους slave κόμβους χωρίς να είναι αναγκαία η επικοινωνία τους με τον master κόμβο. Παραγοντοποίηση μητρώου στιβαρότητας και προσδιορισμός μετακινήσεων στερεού σώματος όπου απαιτείται. Γίνεται παραγοντοποίηση των μητρώου δυσκαμψίας κάθε υποφορέα στους slave κόμβους αφού πρώτα προσδιοριστούν οι κινήσεις στερεού σώματος προκειμένου να γίνουν οι κατάλληλες διαδικασίες για να είναι δυνατή η παραγοντοποίηση του μητρώου. Επίλυση εξισώσεων ισορροπίας. Έχοντας πλέον διαθέσιμες όλες τις απαιτούμενες δομές δεδομένων, καλείται ένας παράλληλος αλγόριθμος επίλυσης συστημάτων γραμμικών εξισώσεων με σκοπό τον υπολογισμό των επικόμβιων μετατοπίσεων των υποφορέων. Στο στάδιο αυτό η επικοινωνία είναι στις περισσότερες περιπτώσεις απαραίτητη. Μετεπεξεργασία αποτελεσμάτων (result post processing) όπου γίνεται χρήση των υπολογισμένων επικόμβιων μετατοπίσεων με σκοπό τον προσδιορισμό των τάσεων των στοιχείων και, εφόσον απαιτείται, του σφάλματος της λύσης. Οι παραπάνω υπολογισμοί των τάσεων γίνονται από τους slave κόμβους και εκτελούνται παράλληλα, ενώ αυτοί της εκτίμησης σφάλματος ενδέχεται να χρειάζεται επικοινωνία με τον master κόμβο. Από τα παραπάνω στάδια, γίνεται φανερό ότι, από τη στιγμή που αρχίζουν οι παράλληλοι υπολογισμοί των slave κόμβων, η συμμετοχή του master κόμβου είναι περιορισμένη και ο ίδιος χρησιμοποιείται κυρίως κατά την επίλυση των εξισώσεων ισορροπίας για να συγκεντρώνει, να αθροίζει και να επαναδιανέμει πληροφορίες σχετικές με τους ενδοσυνοριακούς βαθμούς ελευθερίας των υποφορέων. Με αυτό τον τρόπο επιτυγχάνεται η σύνδεση των ανεξάρτητων υπολογισμών που πραγματοποιούν οι slave κόμβοι. Τα απαιτούμενα βήματα επικοινωνίας διεξάγονται αξιοποιώντας αποθηκευμένες πληροφορίες με τις οποίες: οι slave κόμβοι είναι σε θέση να εντοπίζουν τους βαθμούς ελευθερίας των υποφορέων τους που ανήκουν στο σύνορο με άλλους υποφορείς, ενώ 31
32 ο master κόμβος είναι ενήμερος για τους βαθμούς ελευθερίας που ανήκουν σε κάθε υποφορέα, καθώς και ποιοί από αυτούς τους βαθμούς ελευθερίας ανήκουν στο σύνορο με άλλους υποφορείς. Τέλος, θα πρέπει να σημειώσουμε ότι το στάδιο επίλυσης των εξισώσεων ισορροπίας παρουσιάζει ιδιαίτερο ενδιαφέρον λόγω των απαιτήσεων επικοινωνίας που συνεπάγεται. Η αδυναμία εφαρμογής των άμεσων μεθόδων για την επίλυση των εξισώσεων σε περιβάλλον πολυεπεξεργασίας είχε ως αποτέλεσμα την ανάπτυξη επαναληπτικών μεθόδων επίλυσης για την αξιοποίηση διαδικτυωμένων υπολογιστικών συστημάτων Μη συνεκτικά κατανεμημένα συστήματα Τα μη συνεκτικά κατανεμημένα συστήματα εκτελούνται συνήθως σε ετερογενείς δικτυωμένους πολυυπολογιστές και βασίζονται σε λογισμικό το οποίο παρέχει υπηρεσίες σε χρήστες, αποκρύπτοντας όμως την ύπαρξη πολλαπλών υπολογιστών και τη χρήση του υποκείμενου δικτύου (διαφάνεια). Το δίκτυο διασύνδεσης ποικίλει, από την κλίμακα ενός τοπικού Ethernet (π.χ. για τις ανάγκες μίας επιχείρησης ή ενός πανεπιστημιακού τμήματος) μέχρι την κλίμακα του Internet. Στόχος αυτών των συστημάτων συνήθως είναι η διαφανής παροχή κάποιας υπηρεσίας (π.χ. διαμοιρασμός πόρων μεταξύ απομακρυσμένων χρηστών, αυτόματη μετάφραση κειμένου μέσω Διαδικτύου κλπ), αλλά σπανιότερα μπορούν να αξιοποιηθούν και για αύξηση των υπολογιστικών επιδόσεων κατά την επίλυση ενός προβλήματος (π.χ. υπολογιστικά πλέγματα, αν και γι' αυτόν τον σκοπό χρησιμοποιούνται κυρίως πολυεπεξεργαστές ή συνεκτικοί πολυυπολογιστές με τοπικά δίκτυα διασύνδεσης χαμηλής υστέρησης). Συνήθως η εργασία που επιτελεί ένα τέτοιο κατανεμημένο σύστημα μπορεί να γίνει και από ένα συγκεντρωτικό σύστημα (π.χ. έναν κεντρικό υπολογιστή στον οποίον συνδέονται οι πελάτες μέσω δικτύου). Ωστόσο τα κατανεμημένα συστήματα πλεονεκτούν έναντι των συγκεντρωτικών ως προς: Την οικονομία, αφού ένας κεντρικός υπολογιστής μεγάλης ισχύος μπορεί να είναι πολύ ακριβότερος Την ευελιξία, αφού ο φόρτος εργασίας μπορεί να διαμοιραστεί κατάλληλα στους κόμβους του συστήματος Την αξιοπιστία, αφού αν ένας κόμβος καταρρεύσει δεν επηρεάζονται οι υπόλοιποι Τη σταδιακή ανάπτυξη, αφού μπορεί να προστεθεί σταδιακά περισσότερη ισχύς με την προσθήκη νέων κόμβων Την κοινοχρησία δεδομένων ή συσκευών μεταξύ απομακρυσμένων χρηστών Με την εμφάνιση των κατανεμημένων συστημάτων προέκυψαν ζητήματα λογισμικού, αφού έπρεπε να γραφούν κατάλληλες γλώσσες προγραμματισμού, λειτουργικά συστήματα και εφαρμογές που να υποστηρίζουν αυτό το μοντέλο, 32
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Διπλωματικές
EM 361: Παράλληλοι Υπολογισμοί
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ EM 361: Παράλληλοι Υπολογισμοί Ενότητα #2: Αρχιτεκτονική Διδάσκων: Χαρμανδάρης Ευάγγελος ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΠΙΣΤΗΜΩΝ
2. Στοιχεία Αρχιτεκτονικής Παράλληλων Υπολογιστών... 45
ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος... 9 1. Εισαγωγή... 13 1.1 Οι Μεγάλες Σύγχρονες Επιστημονικές Προκλήσεις... 13 1.2 Εξέλιξη της Παράλληλης Επεξεργασίας Δεδομένων... 14 1.3 Οι Έννοιες της Σωλήνωσης, του Παραλληλισμού
Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός;
Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός; Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg Αρετή
Διαφορές single-processor αρχιτεκτονικών και SoCs
13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό
Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Παραλληλισμός Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Architecture and Engineering, K. Asanovic,
Αρχιτεκτονική Υπολογιστών
Γιώργος Δημητρίου Ενότητα 11 η : Εισαγωγή σε Παράλληλες Αρχιτεκτονικές Παράλληλη Επεξεργασία Επίπεδο Παραλληλισμού Από εντολές έως ανεξάρτητες διεργασίες Οργανώσεις Παράλληλων Αρχιτεκτονικών Συμμετρικοί,
Κεφάλαιο 3. Διδακτικοί Στόχοι
Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,
Λειτουργικά Συστήματα Η/Υ
Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 4 «Αρχιτεκτονικές ΛΣ» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 1. Μονολιθικά συστήματα Αρχιτεκτονικές ΛΣ 2. Στρωματοποιημένη αρχιτεκτονική 3. Αρχιτεκτονική
Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1
Εισαγωγή Υλισµικό Λογισµικό Αρχές σχεδίασης ιαφάνεια Κλιµάκωση Παρεχόµενες υπηρεσίες Μοντέλο πελάτη εξυπηρετητή Μοντέλο πελάτη εξυπηρετητή τριών επιπέδων Κατανοµή επεξεργασίας Κατανεµηµένα Συστήµατα 01-1
Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο
Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρωτόκολλα και Αρχιτεκτονική Δικτύου Για να ανταλλάξουν δεδομένα δύο σταθμοί, εκτός από την ύπαρξη διαδρομής μεταξύ
Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 7: Τοπικά δίκτυα
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 7: Τοπικά δίκτυα Ανδρέας Βέγλης, Αναπληρωτής Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό
ΑΕΠΠ Ερωτήσεις θεωρίας
ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος
Αρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Γ ) Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών
Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών
Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Οι παρούσες σημειώσεις αποτελούν βοήθημα στο μάθημα Αριθμητικές Μέθοδοι του 5 ου εξαμήνου του ΤΜΜ ημήτρης Βαλουγεώργης Καθηγητής Εργαστήριο Φυσικών
Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας
Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Πληροφορική Ι Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ Δρ. Γκόγκος Χρήστος Εκτέλεση προγραμμάτων Πρόγραμμα: Ένα σύνολο από εντολές.
13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1
13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1 ΓΛΩΣΣΑΡΙ Αµοιβαίος αποκλεισµός (mutual exclusion) Στο µοντέλο κοινού χώρου διευθύνσεων, ο αµοιβαίος αποκλεισµός είναι ο περιορισµός του αριθµού των διεργασιών
Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12
Αρχιτεκτονικές κατανεμημένων συστημάτων Στόχοι Εξήγηση των πλεονεκτημάτων και των μειονεκτημάτων των αρχιτεκτονικών κατανεμημένων συστημάτων Εξέταση των αρχιτεκτονικών συστημάτων πελάτηδιακομιστή και των
επιφάνεια πυριτίου Αναφορά στο Εκπαιδευτικό Υλικό : 5. Αναφορά στο Εργαστήριο :
2. Α/Α Διάλεξης : 1 1. Τίτλος : Εισαγωγή στην Ψηφιακή Τεχνολογία 2. Μαθησιακοί Στόχοι : Λογικές Πύλες και η υλοποίησή τους με τρανζίστορ. Κατασκευή ολοκληρωμένων κυκλωμάτων. 3. Θέματα που καλύπτει : Λογικές
Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός. Ενότητα # 1: Εισαγωγή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής
Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός Ενότητα # 1: Εισαγωγή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού
Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Εισαγωγικές Έννοιες ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Θέματα διπλωματικών εργασιών σε. Συστοιχίες παράλληλης εξυηρέτησης εφαρμογών Διαδικτύου
Θέματα διπλωματικών εργασιών σε συστοιχίες παράλληλης εξυπηρέτησης εφαρμογών Διαδικτύου Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Τεχνολογίας Πληροφορικής
ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ
ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΙΣΧΥΕΙ ΚΑΤΑ ΤΟ ΜΕΡΟΣ ΠΟΥ ΑΦΟΡΑ ΤΟ ΛΥΚΕΙΟ ΓΙΑ ΤΗΝ ΥΠΟΧΡΕΩΤΙΚΗ ΕΚΠΑΙΔΕΥΣΗ ΙΣΧΥΟΥΝ ΤΟ ΔΕΠΠΣ
Κεφάλαιο 4: Λογισμικό Συστήματος
Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος
Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ
ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ ΜΕΤΡΑ ΑΠΟΔΟΣΗΣ ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΨΗΛΩΝ ΕΠΙΔΟΣΕΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΨΗΛΩΝ ΕΠΙΔΟΣΕΩΝ Η
10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.
1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.
Παράλληλη Επεξεργασία
Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στο OpenMP Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed Systems Group Τι είναι το OpenMP Πρότυπο Επέκταση στη C/C++ και τη Fortran
Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης
Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg
Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12
Αρχιτεκτονικές κατανεμημένων συστημάτων Στόχοι Εξήγηση των πλεονεκτημάτων και των μειονεκτημάτων των αρχιτεκτονικών κατανεμημένων συστημάτων Εξέταση των αρχιτεκτονικών συστημάτων πελάτηδιακομιστή και των
Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής
Προγραμματισμός Η/Υ Προτεινόμενα θέματα εξετάσεων Εργαστήριο Μέρος 1 ό ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Ιανουάριος 2011 Καλογιάννης Γρηγόριος Επιστημονικός/ Εργαστηριακός
Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.
i Π Ρ Ο Λ Ο Γ Ο Σ Το βιβλίο αυτό αποτελεί μια εισαγωγή στα βασικά προβλήματα των αριθμητικών μεθόδων της υπολογιστικής γραμμικής άλγεβρας (computational linear algebra) και της αριθμητικής ανάλυσης (numerical
ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ Συνδυασμένη χρήση μοντέλων προσομοίωσης βελτιστοποίησης. Η μέθοδος του μητρώου μοναδιαίας απόκρισης Νικόλαος
i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 6-7 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας
Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού
Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Γενικά Η αρχιτεκτονική ανάπτυξης τους πληροφοριακού συστήµατος Γραµµατεία 2000 υποσύστηµα διαχείρισης προσωπικού
Πολυπύρηνοι επεξεργαστές Multicore processors
Πολυπύρηνοι επεξεργαστές Multicore processors 1 Μετάβαση στους πολυπύρηνους(1) Απόδοση των µονοεπεξεργαστών 25% ετήσια βελτίωση της απόδοσης από το 1978 έως το 1986 Κυρίως από την εξέλιξη της τεχνολογίας
ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1
ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 03/01/09 Χαράλαμπος Τζόκας 1 Πρόγραμμα - Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν στον Υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος της επίλυσης
Αρχιτεκτονική Λογισμικού
Αρχιτεκτονική Λογισμικού περιεχόμενα παρουσίασης Τι είναι η αρχιτεκτονική λογισμικού Αρχιτεκτονική και απαιτήσεις Σενάρια ποιότητας Βήματα αρχιτεκτονικής σχεδίασης Αρχιτεκτονικά πρότυπα Διαστρωματωμένη
Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική
Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Ταχύτητα εκτέλεσης Χρόνος εκτέλεσης = (αριθμός εντολών που εκτελούνται) Τί έχει σημασία: Χ (χρόνος εκτέλεσης εντολής) Αριθμός
Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης
Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης Αναστάσιος Α. Νάνος ananos@cslab.ntua.gr Επιβλέπων: Νεκτάριος
Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα
Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 1: Βασικές Έννοιες Λειτουργικών Συστημάτων
Πρόβλημα 37 / σελίδα 207
Πρόβλημα 37 / σελίδα 207 2.5. Ôåóô áõôïáîéïëüãçóçò Δίνονται οι παρακάτω ομάδες προτάσεων. Σε κάθε μία από αυτές, να κάνετε τις απαραίτητες διορθώσεις ώστε να ισχύουν οι προτάσεις 1. Η αναπαράσταση
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Μάριος Αραποστάθης Καθηγητής πληροφορικής Βαρβάκειου Λύκειου http://users.sch.gr/mariosarapostathis 6.1 Η έννοια του
Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά
ΕΠΙΣΤΗΜΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ: Μια ενδιαφέρουσα σταδιοδρομία
ΕΠΙΣΤΗΜΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ: Μια ενδιαφέρουσα σταδιοδρομία N. Μισυρλής (e-mail: nmis@di.uoa.gr) Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Parallel Scientific Computing Laboratory (PSCL)
Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή
Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
Δίκτυα Η/Υ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Δρ. Μελάς Χρήστος, Επίκουρος Καθηγητής V.1.0, 2017, Τμήμα Νοσηλευτικής ΤΕΙ Κρήτης Διάλεξη 8 Δίκτυο υπολογιστών: Ένα σύνολο από υπολογιστές που συνδέονται μεταξύ τους
Παραλληλισμός σε επίπεδο εντολών
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Παραλληλισμός σε επίπεδο εντολών (Pipelining και άλλες τεχνικές αύξησης απόδοσης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση
ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή
ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων 1.1. Εισαγωγή Γενικότερα δεν υπάρχει κάποια ταξινόμηση των πιθανών δικτύων κάτω από την οποία να ταιριάζουν όλα τα δίκτυα. Παρόλα αυτά η ταξινόμηση τους είθισται να γίνεται
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας
Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί
Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί Χαρμανδάρης Βαγγέλης, Τμήμα Εφαρμοσμένων Μαθηματικών Πανεπιστήμιο Κρήτης, Εαρινό Εξάμηνο 2013/14 Κεφάλαιο 3: Θεωρία Παράλληλου Προγραμματισμού
Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος
Κεφάλαιο 3.1: Λειτουργικά Συστήματα 1 3.1.1 Λογισμικό και Υπολογιστικό Σύστημα Ένα σύγχρονο υπολογιστικό σύστημα αποτελείται από: το υλικό: τα ηλεκτρονικά μέρη του υπολογιστή και το λογισμικό: το σύνολο
Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης
ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης Κεφάλαιο 7 1. Σε τι διαφέρει ο Η/Υ από τις υπόλοιπες ηλεκτρικές και ηλεκτρονικές συσκευές; Που οφείλεται η δυνατότητά του να κάνει τόσο διαφορετικές
Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί
Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί Χαρμανδάρης Βαγγέλης, Τμήμα Εφαρμοσμένων Μαθηματικών Πανεπιστήμιο Κρήτης, Εαρινό Εξάμηνο 2013/14 Κεφάλαιο 4: Παράλληλοι Αλγόριθμοι Ταξινόμηση
Επιµέλεια Θοδωρής Πιερράτος
Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί
Παράλληλος προγραμματισμός: Σχεδίαση παράλληλων προγραμμάτων
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση παράλληλων προγραμμάτων 9 ο Εξάμηνο Σχεδιασμός παράλληλων
Σκοπός Μαθήματος. Λειτουργικά Συστήματα Η/Υ. Γενικές Πληροφορίες. Στόχοι Μαθήματος ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή»
Σκοπός Μαθήματος Λειτουργικά Συστήματα Η/Υ Θεωρία: Βασικές έννοιες των λειτουργικών συστημάτων Βασικές αρχές σχεδιασμού τους Κεφάλαιο 1 «Εισαγωγή» Εργαστήριο: Πρακτική εξάσκηση στη χρήση των λειτουργικών
Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19
Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών Κεφ. 2 Θεωρητική Επιστήμη Υπολογιστών 2.3.1.1 Έννοια προγράμματος Τι είναι πρόγραμμα και τι προγραμματισμός; Πρόγραμμα είναι το σύνολο εντολών που χρειάζεται
Δομές Δεδομένων. Ενότητα 1 - Εισαγωγή. Χρήστος Γκουμόπουλος. Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων
Δομές Δεδομένων Ενότητα 1 - Εισαγωγή Χρήστος Γκουμόπουλος Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Αντικείμενο μαθήματος Δομές Δεδομένων (ΔΔ): Στην επιστήμη υπολογιστών
Παράλληλος προγραμματισμός: παράλληλες λ υπολογιστικές πλατφόρμες και ανάλυση προγραμμάτων
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: παράλληλες λ υπολογιστικές πλατφόρμες και ανάλυση προγραμμάτων
Αρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής
Αστικά υδραυλικά έργα
Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος Αστικά υδραυλικά έργα Υδραυλική ανάλυση δικτύων διανομής Δημήτρης Κουτσογιάννης, Καθηγητής ΕΜΠ Σχολή Πολιτικών Μηχανικών Άδεια Χρήσης
Διασύνδεση τοπικών δικτύων
Κεφάλαιο 10 Διασύνδεση τοπικών δικτύων ------------------------- Μάθημα 10.1 : Αρχές διασύνδεσης τοπικών δικτύων Μάθημα 10.2 : Επιλογή τοπικού δικτύου και μέσου μετάδοσης Μάθημα 10.3 : Επιλογή τοπικού
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΜΕΡΛΙΑΟΥΝΤΑΣ ΣΤΕΦΑΝΟΣ, ΠΕ19 ΚΕΦΑΛΑΙΟ 3 Αλγόριθμοι 3. Αλγόριθμοι 2 3. Αλγόριθμοι 3.1 Η έννοια του αλγορίθμου 3.2 Χαρακτηριστικά αλγορίθμου 3.3 Ανάλυση αλγορίθμων
Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Παραλληλισμός σε επίπεδο εντολών (Pipelining και άλλες τεχνικές αύξησης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης
Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα
Η Υλοποίηση της Επικοινωνίας στα Κατανεµηµένα Συστήµατα ιαφάνειες στα πλαίσια του µαθήµατος: Κατανεµηµένα Συστήµατα Ε Εξάµηνο, Τµήµα Πληροφορικής και Τεχνολογίας Υπολογιστών, ΤΕΙ Λαµίας Πέτρος Λάµψας 2002
Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος
Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός
κεφάλαιο Βασικές Έννοιες Επιστήμη των Υπολογιστών
κεφάλαιο 1 Βασικές Έννοιες Επιστήμη 9 1Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ Στόχοι Στόχος του κεφαλαίου είναι οι μαθητές: να γνωρίσουν βασικές έννοιες και τομείς της Επιστήμης. Λέξεις κλειδιά Επιστήμη
Πρόταση για Ανασχηματισμό του Προγράμματος Προπτυχιακών Σπουδών της ΣΗΜΜΥ
Πρόταση για Ανασχηματισμό του Προγράμματος Προπτυχιακών Σπουδών της ΣΗΜΜΥ Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών Περίληψη Τί προτείνουμε, πώς και γιατί με λίγα λόγια: 55 μαθήματα = 30 για ενιαίο
ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών
44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.
ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET
ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET Κεφάλαιο 6: Συσκευές τηλεπικοινωνιών και δικτύωσης (Θ) Ενεργά στοιχεία δικτύων Δύο συστήματα Η/Υ μπορούν να συνδεθούν χρησιμοποιώντας: Δια-αποδιαμορφωτές
Σχεδιαστικά Προγράμματα Επίπλου
Σχεδιαστικά Προγράμματα Επίπλου Καθηγήτρια ΦΕΡΦΥΡΗ ΣΩΤΗΡΙΑ Τμήμα ΣΧΕΔΙΑΣΜΟΥ & ΤΕΧΝΟΛΟΓΙΑΣ ΞΥΛΟΥ - ΕΠΙΠΛΟΥ Σχεδιαστικά Προγράμματα Επίπλου Η σχεδίαση με τον παραδοσιακό τρόπο απαιτεί αυξημένο χρόνο, ενώ
Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 2: Αρχιτεκτονικές Von Neuman, Harvard. Κατηγοριοποίηση κατά Flynn. Υπολογισμός απόδοσης Συστημάτων
Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)
Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα 1.7 - Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Πρωτόκολλο είναι ένα σύνολο κανόνων που πρέπει να ακολουθήσουν όλοι οι σταθμοί εργασίας σε ένα δίκτυο ώστε να μπορούν
ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ.
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΥΣ Θέμα: ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ. Εισηγητής: Δ. Ν. Καλλέργης, MSc. Φοιτήτρια: Κοντζοπούλου Παναγιώτα Εισαγωγή
Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου
Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου Μ.Στεφανιδάκης Κατανεμημένα συστήματα ελέγχου Α Β διασυνδετικό δίκτυο Γ Δ Ε π.χ. οι επιμέρους
Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών
Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)
Δίκτυα Υπολογιστών I
Δίκτυα Υπολογιστών I Σχεδίαση και Αρχιτεκτονική Δικτύων Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) MYY703: Δίκτυα Υπολογιστών I 1 / 19 Διάρθρωση
Μετρικές & Επιδόσεις. Κεφάλαιο V
Μετρικές & Επιδόσεις Κεφάλαιο V Χρόνος εκτέλεσης & επιτάχυνση Σειριακός χρόνος εκτέλεσης: Τ (για τον καλύτερο σειριακό αλγόριθμο) Παράλληλος χρόνος εκτέλεσης: (με επεξεργαστές) Επιτάχυνση (speedup): S
Εισαγωγή στην Ανάλυση Αλγορίθμων (1) Διαφάνειες του Γ. Χ. Στεφανίδη
Εισαγωγή στην Ανάλυση Αλγορίθμων (1) Διαφάνειες του Γ. Χ. Στεφανίδη 0. Εισαγωγή Αντικείμενο μαθήματος: Η θεωρητική μελέτη ανάλυσης των αλγορίθμων. Στόχος: επιδόσεις των επαναληπτικών και αναδρομικών αλγορίθμων.
Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος
Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν
Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ: ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων
Εισαγωγή στα Συστήματα Ψηφιακής Επεξεργασίας Σήματος
ΕΣ 08 Επεξεργαστές Ψηφιακών Σημάτων Εισαγωγή στα Συστήματα Ψηφιακής Επεξεργασίας Σήματος Κλήμης Νταλιάνης Λέκτορας Π.Δ.407/80 Τμήμα Επιστήμη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήμιο Πελοποννήσου Αρχιτεκτονική
Κατανεμημένος και Παράλληλος Προγραμματισμός. Ύλη μαθήματος. Βιβλιογραφία Μαθήματος 2/27/2016
Κατανεμημένος και Παράλληλος Προγραμματισμός Ηλίας Κ. Σάββας Αναπληρωτής Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Θεσσαλίας Email: savvas@teilar.gr Ύλη μαθήματος. Εισαγωγή στον κατανεμημένο προγραμματισμό.
Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι
Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού
Θέματα Μεταγλωττιστών
Γιώργος Δημητρίου Ενότητα 10 η : Βελτιστοποιήσεις Τοπικότητας και Παραλληλισμού: Εξαρτήσεις και Μετασχηματισμοί Βρόχων Επεξεργασία Πινάκων Παραλληλισμός επιπέδου βρόχου Λόγω παραλληλισμού δεδομένων Επιτυγχάνεται
Λειτουργικά Συστήματα (Λ/Σ)
Λειτουργικά Συστήματα (Λ/Σ) Δομή Λειτουργικών Συστημάτων Βασίλης Σακκάς 20/11/2013 1 Δομή ενός Λ/Σ -1 Μονολιθικά συστήματα (monolithic systems) Λειτουργικά συστήματα με ανυπαρξία δομής: "η μεγάλη ακαταστασία"
Αρχιτεκτονικές Συστημάτων
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Αρχιτεκτονικές Συστημάτων Κατερίνα Πραματάρη Αρχιτεκτονικές Συστημάτων Σχεδίαση και Αρχιτεκτονική Συστήματος Αρχιτεκτονική Πελάτη-Εξυπηρετητή
ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΔΙΑΔΙΚΑΣΙΕΣ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ Διδάσκων: Γ. Χαραλαμπίδης,
Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο
Αρχές Δικτύων Επικοινωνιών Επικοινωνίες Δεδομένων Μάθημα 4 ο Τα επικοινωνιακά δίκτυα και οι ανάγκες που εξυπηρετούν Για την επικοινωνία δύο συσκευών απαιτείται να υπάρχει μεταξύ τους σύνδεση από σημείο
Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών
Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών Η επεξεργασία των δεδομένων ακολουθεί μια στερεότυπη διαδρομή: τα δεδομένα εισάγονται στο υπολογιστικό σύστημα, υφίστανται μια ορισμένη επεξεργασία και
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη
1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB)
ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΜΕΘΟΔΟΙ ΕΠΙΛΥΣΗΣ ΜΕ Η/Υ 1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB) Ν.Δ. Λαγαρός Μ. Φραγκιαδάκης Α. Στάμος Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Αρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Γ ) Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών
Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία
Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες
Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1
Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1 Ποιες γλώσσες αναφέρονται ως φυσικές και ποιες ως τεχνητές; Ως φυσικές γλώσσες αναφέρονται εκείνες οι οποίες χρησιμοποιούνται για την επικοινωνία μεταξύ ανθρώπων,