Χρονοδρομολόγηση Εργασιών σε Πολλαπλά Sites ενός Συστήματος Grid Μοντελοποίηση, Προσομοίωση και Αξιολόγηση της Απόδοσης
|
|
- Ευτροπια Ελευθερόπουλος
- 8 χρόνια πριν
- Προβολές:
Transcript
1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Χρονοδρομολόγηση Εργασιών σε Πολλαπλά Sites ενός Συστήματος Grid Μοντελοποίηση, Προσομοίωση και Αξιολόγηση της Απόδοσης Μεταπτυχιακή Διατριβή ΚΟΪΝΑΡΗ ΓΑΡΥΦΑΛΙΑ Πτυχιούχος Εφαρμοσμένης Πληροφορικής Πανεπιστημίου Μακεδονίας Θεσ/κης Επιβλέπουσα Καθηγήτρια Καρατζά Ελένη Θεσσαλονίκη, Φεβρουάριος 2012
2 Πρόλογος Η παρούσα μεταπτυχιακή διατριβή ήταν μια πρόκληση για μένα καθώς κλήθηκα για πρώτη φορά να προσομοιώσω ένα κατανεμημένο σύστημα. Αισθάνομαι την ανάγκη να ευχαριστήσω θερμά την επιβλέπουσα Καθηγήτρια κ. Ελένη Καρατζά για την καθοδήγηση και την υποστήριξή της κατά την υλοποίηση και συγγραφή της εργασίας αυτής, καθώς με τις πολύτιμες συμβουλές και υποδείξεις της συνέβαλε στην άρτια ολοκλήρωσή της. Επίσης, θα ήθελα να ευχαριστήσω όλα τα αγαπημένα μου πρόσωπα που κατά τη διάρκεια εκπόνησης της διατριβής συμμεριζόταν τα άγχη και τις αγωνίες μου, με στήριζαν ψυχολογικά και μου έδιναν δύναμη και κουράγιο να συνεχίσω. Αφιερώνω αυτή τη διατριβή στη μαμά μου για όλες τις θυσίες που έχει κάνει για μένα. Κοϊνάρη Γαρυφαλιά Θεσσαλονίκη, Φεβρουάριος
3 Περιεχόμενα Πρόλογος...2 Περιεχόμενα...3 Περίληψη...5 Abstract...6 Α ΜΕΡΟΣ Προσομοίωση Έννοια Ορισμός Πλεονεκτήματα Μειονεκτήματα Μελέτη Συστήματος Με Προσομοίωση Μοντέλα Προσομοίωσης Μοντέλο Προσομοίωσης Διακριτών Γεγονότων Παράγοντες Μοντέλου Προσομοίωσης Διακριτών Γεγονότων Οργάνωση Μοντέλου Προσομοίωσης Διακριτών Γεγονότων Συστήματα Grid Ορισμός Τύποι Grids Ταξινόμηση με βάση τον τύπο των πόρων που διανέμουν Ταξινόμηση με βάση την κλίμακα που ανήκουν Ταξινόμηση με βάση τις υπηρεσίες που προσφέρουν Αρχιτεκτονική Πόροι Χρήστες Δυνατότητες Χρονοδρομολόγηση Εργασιών Βασικές Λειτουργίες Χρονοδρομολόγησης Σχεδιάζοντας ένα μοντέλο για χρονοδρομολόγηση στο Grid Βασικά Στοιχεία Θεωρίας Συστημάτων Ουρών Ουρές Αναμονής Συστήματα Ουρών Κανόνας Little Νόμοι Λειτουργικότητας
4 Β ΜΕΡΟΣ Μοντέλο Συστήματος Πολιτικές Δρομολόγησης RANDOM SQ SCRSQ Υλοποίηση του Μοντέλου Ορισμός Σταθερών Αφίξεις - Εξυπηρετήσεις Δημιουργία Τυχαίων Αριθμών Παράμετροι Εισόδου Μετρικές Απόδοσης Πειράματα και Αποτελέσματα Συμπεράσματα Προοπτικές της Έρευνας...69 Βιβλιογραφία - Αναφορές...71 Παράρτημα
5 Περίληψη Στην εργασία αυτή μελετάται η απόδοση ενός κατανεμημένου συστήματος το οποίο αποτελείται από δύο ανεξάρτητες συστοιχίες (clusters). Κάθε cluster αποτελείται από ουρές στις οποίες κατανέμεται διαφορετικός αριθμός επεξεργαστών. Πιο συγκεκριμένα, το ένα cluster αποτελείται από οκτώ ουρές όπου στην κάθε μία αντιστοιχούν τέσσερις επεξεργαστές ενώ το άλλο αποτελείται από δεκαέξι ουρές όπου σε κάθε μία κατανέμονται δύο επεξεργαστές. Συνεπώς, τα δύο clusters αποτελούνται από τον ίδιο αριθμό επεξεργαστών. Όλοι οι επεξεργαστές είναι ομοιογενείς, δηλαδή στον ίδιο χρόνο έχουν την ίδια δυνατότητα εξυπηρέτησης. Στόχος της εργασίας αυτής είναι η σύγκριση της απόδοσης μεταξύ τριών πολιτικών δρομολόγησης που εφαρμόζονται στο σύστημα. Το σύστημα μοντελοποιείται σύμφωνα με τη θεωρία ουρών και προσομοιώνεται με την τεχνική της προσομοίωσης διακριτών γεγονότων. Από τα αποτελέσματα των προσομοιώσεων προκύπτουν χρήσιμα συμπεράσματα για τις πολιτικές δρομολόγησης που εφαρμόζονται. Η εργασία αυτή είναι χωρισμένη σε δύο μέρη. Στο πρώτο μέρος παρουσιάζεται η έννοια της προσομοίωσης (Κεφάλαιο 1), γίνεται μια γενική αναφορά στα συστήματα Grid (Κεφάλαιο 2) και εισάγεται ο αναγνώστης στα βασικά στοιχεία ανάλυσης απόδοσης (Κεφάλαιο 3). Στο δεύτερο μέρος της εργασίας, περιγράφεται αναλυτικά το μοντέλο του συστήματος που μας ενδιαφέρει (Κεφάλαιο 4), εξηγείται ο τρόπος υλοποίησής του με προσομοίωση (Κεφάλαιο 5), παρουσιάζονται τα πειράματα και τα αποτελέσματα της προσομοίωσης (Κεφάλαιο 6) και, τέλος, εξάγονται χρήσιμα συμπεράσματα (Κεφάλαιο 7). 5
6 Abstract This work studies the performance of a distributed system which consists of two independent clusters. Each of them consists of queues in which different number of processors is distributed. More specifically, one cluster consists of eight queues in each four processors correspond while the other consists of sixteen queues to each two processors are allocated. Therefore, both clusters consist of the same number of processors. All processors are homogeneous, which means that they have the same ability to serve within the same time. The goal of this paper is to compare the performance of three routing policies applied in the system. The system is modeled according to queuing theory and simulated using the technique of discrete event simulation. The results of simulations obtained useful conclusions about the routing policies applied. The work is divided into two parts. In the first part, the concept of simulation is presented (Chapter 1), there is a general reference in Grid systems (Chapter 2) and the reader is introduced to the basics of performance analysis (Chapter 3). In the second part of the work, the simulation model of interest is described in detail (Chapter 4), we explain the way in which the simulation was implemented (Chapter 5), then, experiments and simulation results are presented (Chapter 6) and, finally, useful conclusions are exported (Chapter 7). 6
7 Α ΜΕΡΟΣ 7
8 Εισαγωγή Σε αυτό το μέρος της εργασίας παρουσιάζεται το θεωρητικό υπόβαθρο στο οποίο στηρίχτηκε η μελέτη μας. Συγκεκριμένα, αναλύονται κάποιες βασικές έννοιες που αφορούν γενικά τη μελέτη και προσομοίωση κατανεμημένων συστημάτων και στοχεύουν στην παροχή απαραίτητων γνώσεων στον αναγνώστη προκειμένου να κατανοήσει καλύτερα το ερευνητικό μέρος της εργασίας, το οποίο αναλύεται λεπτομερώς στο δεύτερο μέρος. 1. Προσομοίωση 1.1 Έννοια Η προσομοίωση είναι ένα από τα πιο ισχυρά εργαλεία που διαθέτουν οι υπεύθυνοι για τη λήψη αποφάσεων σχετικά με το σχεδιασμό και τη λειτουργία πολύπλοκων διαδικασιών και συστημάτων. Καθιστά δυνατή τη μελέτη, ανάλυση και αξιολόγηση καταστάσεων που διαφορετικά δε θα μπορούσε να πραγματοποιηθεί. Σε έναν κόσμο όλο και πιο ανταγωνιστικό, η προσομοίωση έχει γίνει απαραίτητη μεθοδολογία επίλυσης προβλημάτων για σχεδιαστές, μηχανικούς και μάνατζερ. O Shannon ορίζει την προσομοίωση ως μια διαδικασία κατά την οποία: αρχικά σχεδιάζεται ένα μοντέλο ενός συστήματος πραγματικού χρόνου, στη συνέχεια διεξάγονται πειράματα με αυτό το μοντέλο προκειμένου να γίνει αντιληπτή η συμπεριφορά του συστήματος και, τέλος, αξιολογούνται διάφορες στρατηγικές για τη λειτουργία του συστήματος. Επομένως, το μοντέλο θα πρέπει να σχεδιαστεί με τέτοιον τρόπο ώστε η συμπεριφορά του να μιμείται την αναμενόμενη συμπεριφορά του πραγματικού συστήματος σε γεγονότα που λαμβάνουν χώρα με την πάροδο του χρόνου [8] [9]. Κάποιοι τομείς στους οποίους βρίσκει εφαρμογές η προσομοίωση είναι: η ανάλυση και σχεδίαση συστημάτων παραγωγής (βιομηχανία), ο έλεγχος αποθεμάτων (βιομηχανία, εμπορικές επιχειρήσεις), η μελέτη κυκλοφοριακών συστημάτων (οδικό δίκτυο, αεροδρόμια), η μελέτη συστημάτων εξυπηρέτησης πελατών (τράπεζες, νοσοκομεία, τηλεπικοινωνίες) και η αξιολόγηση αποφάσεων υπό αβεβαιότητα (χρηματιστήριο, επενδύσεις, μάρκετινγκ) [7]. 1.2 Ορισμός Προσομοίωση (simulation) είναι η μίμηση της λειτουργίας συστημάτων ή της εξέλιξης διαδικασιών μέσα στο χρόνο με τη βοήθεια υπολογιστή. Διαδικασία ή σύστημα ονομάζεται ένα σύνολο στοιχείων τα οποία εξελίσσονται και αλληλεπιδρούν σύμφωνα με κάποιους κανόνες. Οι κανόνες αυτοί εκφράζονται με μαθηματικές ή λογικές σχέσεις και αποτελούν το μοντέλο του συστήματος. Κατάσταση είναι το σύνολο των μεταβλητών οι οποίες δίνουν την απαραίτητη πληροφορία για την περιγραφή του συστήματος. 8
9 Αν η εξέλιξη του συστήματος περιγράφεται από απλές σχέσεις, τότε είναι δυνατή η εύρεση λύσεων κλειστής μορφής, οπότε λέμε ότι το μοντέλο επιλύεται αναλυτικά. Ωστόσο τα περισσότερα συστήματα έχουν διάνυσμα κατάστασης μεγάλων διαστάσεων και περιγράφονται από πολύπλοκα μοντέλα των οποίων η αναλυτική επίλυση είναι αδύνατη. Για τη μελέτη τέτοιων συστημάτων εφαρμόζονται αριθμητικές μέθοδοι όπως είναι η αριθμητική ανάλυση και η προσομοίωση. Η προσομοίωση συνίσταται στην ανάπτυξη ενός μοντέλου του υπό εξέταση συστήματος με τη μορφή προγράμματος σε υπολογιστή και στην εκτέλεση ενός (ή περισσότερων) πειράματος (πειραμάτων) το (τα) οποίο (οποία) καταγράφει (καταγράφουν) την κατάσταση του συστήματος σε διαδοχικές χρονικές στιγμές αποτυπώνοντας ένα πιθανό σενάριο εξέλιξης του συστήματος στο χρόνο. Η προσομοίωση παρέχει τη δυνατότητα αξιολόγησης της αποτελεσματικότητας ή απόδοσης ενός συστήματος πολύ πριν αυτό κατασκευαστεί με σκοπό τη βέλτιστη σχεδίασή του [7]. 1.3 Πλεονεκτήματα Η προσομοίωση έχει πολλά πλεονεκτήματα σε σχέση με τα αναλυτικά ή μαθηματικά μοντέλα ανάλυσης συστημάτων [8]. Πρώτα από όλα, η έννοια της προσομοίωσης είναι εύκολη και κατανοητή, σε αντίθεση με κάποιο πολύπλοκο αναλυτικό μοντέλο. Επιπλέον, ένα μοντέλο προσομοίωσης μπορεί να είναι πιο αξιόπιστο είτε επειδή η συμπεριφορά του έχει συγκριθεί με τη συμπεριφορά του πραγματικού συστήματος είτε επειδή απαιτεί λιγότερες υποθέσεις απλούστευσης και, ως εκ τούτου, συμπεριλαμβάνει τα περισσότερα από τα πραγματικά χαρακτηριστικά του υπό μελέτη συστήματος. Επίσης η προσομοίωση δίνει τη δυνατότητα: Επανάληψης του ίδιου φαινομένου ώστε να εξεταστεί διεξοδικά από όλες του τις πλευρές. Απόκτησης γνώσεων σχετικά με τον τρόπο που ένα μοντελοποιημένο σύστημα λειτουργεί στην πραγματικότητα και συμβάλλει στην κατανόηση των μεταβλητών που παίζουν σημαντικότερο ρόλο στην απόδοση. Πειραματισμού με νέες και άγνωστες καταστάσεις και επιτρέπει την απάντηση σε ερωτήσεις του τύπου τι θα γινόταν εάν. Ασφαλέστερων δοκιμών (π.χ. χειρισμός αεροπλάνου) σε αντίθεση με πολλά από τα πραγματικά πειράματα. Ελέγχου υποθέσεων για το πώς ή το γιατί συμβαίνουν ορισμένα φαινόμενα στο σύστημα. 9
10 1.4 Μειονεκτήματα Όπως όμως τα νομίσματα έχουν δύο όψεις, έτσι και η προσομοίωση πέρα από τα πλεονεκτήματα που παρουσιάζει, έχει και αρκετά μειονεκτήματα. Μερικά από αυτά αναφέρονται παρακάτω [6]: Κάθε εκτέλεση του στοχαστικού μοντέλου προσομοίωσης παράγει μια εκτίμηση των πραγματικών χαρακτηριστικών του μοντέλου. Για να θεωρηθούν ακριβή τα αποτελέσματα αυτά θα πρέπει να γίνουν πολλές εκτελέσεις με διαφορετικά δεδομένα εισόδου προκειμένου να εξακριβωθεί αν τα αποτελέσματα κάθε εκτέλεσης συμφωνούν μεταξύ τους. Εάν κατά τη φάση είτε της μοντελοποίησης είτε της υλοποίησης συμβεί κάποιο λάθος, τότε τα αποτελέσματα που θα προκύψουν θα είναι λανθασμένα και δεν θα ανταποκρίνονται στο πραγματικό σύστημα. Η δημιουργία μοντέλων προσομοίωσης απαιτεί εξειδικευμένη εκπαίδευση, είναι επίπονη και μακροχρόνια διαδικασία, συχνά μεγάλου κόστους. 1.5 Μελέτη Συστήματος Με Προσομοίωση Για τη μελέτη της απόδοσης ενός συστήματος με τη μέθοδο της προσομοίωσης είναι απαραίτητο να ακολουθηθούν κάποια βήματα τα οποία θα διευκολύνουν την επίτευξη αυτού του στόχου. Τα βήματα αυτά παρουσιάζονται στη συνέχεια και έχουν κυρίως συμβουλευτικό και καθοδηγητικό ρόλο. Με άλλα λόγια, δεν αποσκοπούν στο να θέσουν περιορισμούς στον τρόπο με τον οποίο θα διεξαγάγει κάποιος την έρευνά του αλλά είναι απλώς ενδεικτικά. Πιο αναλυτικά, τα βασικά βήματα μιας μελέτης συστήματος με προσομοίωση είναι τα ακόλουθα [10]: 1) Διατύπωση του προβλήματος και σχεδιασμός της μελέτης: Το πρόβλημα μορφοποιείται και γίνεται κατανοητό από τον αναλυτή. 2) Συλλογή των δεδομένων και καθορισμός μοντέλου: Πρέπει να συλλεχθούν και να αξιολογηθούν όλες οι πληροφορίες και τα δεδομένα για το μοντέλο που μας απασχολεί. Συνήθως, είναι καλύτερο να ξεκινήσει κανείς από ένα απλό μοντέλο και αργότερα να προσθέσει τις λεπτομέρειες. 3) Έλεγχος εγκυρότητας: Αν και η επαλήθευση είναι κάτι που θα έπρεπε να γίνεται σε όλα τα βήματα της προσομοίωσης υπάρχουν ωστόσο κάποια σημεία όπου η ανάγκη για επαλήθευση είναι πιο επιτακτική, όπως για παράδειγμα στο 3 ο βήμα του παρακάτω σχήματος. Προκειμένου να αυξηθεί η εγκυρότητα του μοντέλου που σχεδιάζεται, συστήνεται ο σχεδιαστής να επικοινωνεί με ανθρώπους που γνωρίζουν καλύτερα το 10
11 αντικείμενο της σχεδίασης (είτε γιατί το χρησιμοποιούν είτε γιατί πρόκειται να το χρησιμοποιήσουν). 4) Κατασκευή προγράμματος και επαλήθευση: Εισαγωγή του μοντέλου στον υπολογιστή με τη μορφή προγράμματος. Αυτό μπορεί να επιτευχθεί είτε με τη χρήση προγράμματος γενικού σκοπού όπως η C++ και η Pascal, είτε με μία γλώσσα ειδικού σκοπού (γλώσσα προσομοίωσης) όπως για παράδειγμα η GPSS, SIMAN, SIMSCRIPT II.5 και SLAM II. Έπειτα πραγματοποιείται η αποσφαλμάτωση αυτού του προγράμματος. 5) Δοκιμαστικές εκτελέσεις: Οι δοκιμαστικές εκτελέσεις πραγματοποιούνται ώστε να γίνει η επαλήθευση στο βήμα 6. 6) Έλεγχος εγκυρότητας: Οι δοκιμαστικές εκτελέσεις μπορούν να χρησιμοποιηθούν για τον έλεγχο της ευαισθησίας της εξόδου του μοντέλου στις μικρές μεταβολές των παραμέτρων εισόδου. Εάν η μεταβολή στην έξοδο είναι μεγάλη, τότε πρέπει να βρεθεί μία καλύτερη εκτίμηση των παραμέτρων εισόδου. Επίσης, τα αποτελέσματα της εξόδου για το δικό μας μοντέλο είναι δυνατό να συγκριθούν με κάποιο πραγματικό σύστημα που υπάρχει και παρουσιάζει κάποιες ομοιότητες με το δικό μας. 7) Πειραματική σχεδίαση: Πρέπει να καθοριστούν οι εναλλακτικές λύσεις που πρόκειται να προσομοιωθούν. 8) Εκτελέσεις: Σκοπός των εκτελέσεων είναι να παράγουν τις απαραίτητες πληροφορίες οι οποίες χρειάζονται για την εκτίμηση της απόδοσης. 9) Ανάλυση αποτελεσμάτων: Χρησιμοποιούνται διάφορες τεχνικές για την ανάλυση των αποτελεσμάτων της εκτέλεσης. 10) Τεκμηρίωση και παρουσίαση αποτελεσμάτων: Τα αποτελέσματα πρέπει να τεκμηριωθούν. Στη συνέχεια πραγματοποιείται η υλοποίηση. Όλα αυτά τα βήματα που αναφέρθηκαν απεικονίζονται στο σχήμα που ακολουθεί: 11
12 Διατύπωση του προβλήματος και σχεδιασμός της μελέτης Συλλογή των δεδομένων και καθορισμός μοντέλου Έγκυρο? Όχι Ναι Κατασκευή προγράμματος και επαλήθευση Δοκιμαστικές εκτελέσεις Έγκυρο? Όχι Ναι Σχεδιασμός πειραμάτων Εκτέλεση Ανάλυση των αποτελεσμάτων Τεκμηρίωση και παρουσίαση αποτελεσμάτων Σχήμα 1: Βήματα στη μελέτη προσομοίωσης 12
13 1.6 Μοντέλα Προσομοίωσης Τα μοντέλα προσομοίωσης κατασκευάζονται με σκοπό την εξέταση της λειτουργίας ενός συστήματος καθώς αυτό εξελίσσεται χρονικά. Συνήθως κατά τη δημιουργία ενός τέτοιου μοντέλου γίνονται κάποιες παραδοχές και υποθέσεις σχετικές με τη λειτουργία του πραγματικού μοντέλου. Αφού κατασκευαστεί το μοντέλο, θα πρέπει να ελεγχθεί ώστε να εξακριβωθεί η ορθότητα τόσο της λειτουργίας του όσο και των παραγόμενων αποτελεσμάτων. Πολλές φορές είναι δύσκολο να επιβεβαιωθούν τα αποτελέσματα του μοντέλου προσομοίωσης και αυτό γιατί, συνήθως, η προσομοίωση ενός συστήματος προηγείται της κατασκευής του [6]. Τα μοντέλα προσομοίωσης μπορούν να ταξινομηθούν σε τρεις διαφορετικές διαστάσεις ανάλογα με τα χαρακτηριστικά των οντοτήτων τους [10]: Στατικά και Δυναμικά: Ένα στατικό μοντέλο προσομοίωσης είτε μοντελοποιεί την κατάσταση του συστήματος για μία συγκεκριμένη χρονική στιγμή είτε εξαιρεί την παράμετρο του χρόνου εντελώς από το σύστημα. Αντίθετα, ένα δυναμικό μοντέλο προσομοιώνει τη λειτουργία του μοντελοποιημένου συστήματος σε σχέση με το χρόνο λαμβάνοντας υπόψη τον τρόπο με τον οποίο αυτό εξελίσσεται με την πάροδο του χρόνου. Ντετερμινιστικά και Στοχαστικά: Αν ένα μοντέλο προσομοίωσης δεν περιλαμβάνει πιθανοτικά (δηλαδή τυχαία ) τμήματα, τότε ονομάζεται ντετερμινιστικό. Για παράδειγμα, ένα πολύπλοκο σύστημα διαφορικών εξισώσεων που περιγράφει μία χημική αντίδραση, μπορεί να είναι ένα τέτοιο μοντέλο. Στα ντετερμινιστικά μοντέλα η έξοδος είναι καθορισμένη, με δεδομένο το σύνολο των ποσοτήτων και σχέσεων εισόδου του μοντέλου. Όμως, πολλά συστήματα πρέπει να χρησιμοποιήσουν στοχαστικά μοντέλα προσομοίωσης, δηλαδή μοντέλα που θα έχουν τουλάχιστον ορισμένα τμήματα με τυχαία είσοδο. Τα περισσότερα υπολογιστικά συστήματα που βασίζονται στα συστήματα αναμονής (queuing systems) χρησιμοποιούν στοχαστικά μοντέλα προσομοίωσης. Συνεχή και Διακριτά: Τα μοντέλα προσομοίωσης διακρίνονται σε διακριτού χρόνου (discrete - time) και συνεχούς χρόνου (continuous - time). Στα μοντέλα διακριτού χρόνου η κατάσταση μεταβάλλεται βηματικά σε διακριτές χρονικές στιγμές t 1, t 2, t 3, κ.λπ. ενώ παραμένει σταθερή στα διαστήματα [t 1, t 2 ), [t 2, t 3 ), κοκ. Αντιθέτως, συνεχές είναι το σύστημα του οποίου η κατάσταση είναι συνεχής συνάρτηση του χρόνου. Η διαχρονική συμπεριφορά συνεχών συστημάτων περιγράφεται συνήθως από διαφορικές εξισώσεις. Σημειώνεται ότι ένα διακριτό μοντέλο δε χρησιμοποιείται μόνο για την αναπαράσταση ενός διακριτού συστήματος και ένα διακριτό σύστημα δεν αναπαρίσταται μόνο από ένα διακριτό μοντέλο προσομοίωσης. Η απόφαση για τη χρήση ενός διακριτού ή ενός συνεχούς μοντέλου για ένα συγκεκριμένο σύστημα εξαρτάται από τους ιδιαίτερους στόχους της μελέτης. Το μοντέλο προσομοίωσης που θα μας απασχολήσει στη συνέχεια είναι διακριτό, δυναμικό και στοχαστικό και ονομάζεται Μοντέλο Προσομοίωσης Διακριτών Γεγονότων (discrete event 13
14 simulation model). Μάλιστα, αφού τα ντετερμινιστικά μοντέλα μπορούν να θεωρηθούν ειδικές περιπτώσεις των στοχαστικών μοντέλων, δε θα έχουμε απώλεια της γενικότητας στη μελέτη των μοντέλων προσομοίωσης Μοντέλο Προσομοίωσης Διακριτών Γεγονότων Η προσομοίωση διακριτών γεγονότων (discrete-event simulation) αναφέρεται στη μοντελοποίηση ενός συστήματος καθώς αυτό εξελίσσεται με την πάροδο του χρόνου. Στην αναπαράσταση ενός τέτοιου συστήματος, οι μεταβλητές κατάστασης μεταβάλλονται στιγμιαία σε διακριτές χρονικές στιγμές. Χρησιμοποιώντας τη μαθηματική ορολογία, θα μπορούσαμε να πούμε ότι το σύστημα αλλάζει μόνο σε μετρητό αριθμό σημείων στο χρόνο. Σε αυτά τα σημεία μπορεί να συμβεί ένα γεγονός (event), όπου σαν γεγονός ορίζεται ένα στιγμιαίο συμβάν το οποίο μπορεί να αλλάξει την κατάσταση του συστήματος [10]. Όπως ειπώθηκε στην προηγούμενη ενότητα, τα μοντέλα προσομοίωσης διακριτών γεγονότων είναι δυναμικά μοντέλα κι επομένως είναι αναγκαίο να παρακολουθείται η τρέχουσα τιμή του χρόνου προσομοίωσης καθώς η προσομοίωση προχωρά. Επιπλέον, αναγκαία είναι και η ύπαρξη κάποιου μηχανισμού που θα προχωρά το χρόνο προσομοίωσης από τη μία τιμή στην άλλη [1]. Σε ένα πρόγραμμα προσομοίωσης διακριτών γεγονότων πρέπει απαραίτητα να χρησιμοποιηθούν κάποιες μεταβλητές. Μία από αυτές είναι η μεταβλητή που δίνει την τρέχουσα τιμή του χρόνου προσομοίωσης και ονομάζεται ρολόι προσομοίωσης (simulation clock). Στην επόμενη ενότητα περιγράφονται αναλυτικά όλες οι μεταβλητές που συναντώνται στα περισσότερα μοντέλα προσομοίωσης διακριτών γεγονότων. Όταν το μοντέλο έχει γραφτεί σε μια γλώσσα γενικού σκοπού (όπως είναι η C), η μονάδα χρόνου δεν ορίζεται ρητά για το ρολόι προσομοίωσης και θεωρείται ότι είναι ίδια με τις μονάδες των παραμέτρων εισόδου. Γενικά, ο χρόνος προσομοίωσης δεν έχει καμιά σχέση με το χρόνο που απαιτείται για να τρέξει το μοντέλο προσομοίωσης στον υπολογιστή. Για να προχωρήσει το ρολόι προσομοίωσης συνήθως χρησιμοποιείται η μέθοδος να προχωρήσει ο χρόνος στο επόμενο γεγονός (next-event time advance). Σύμφωνα με τη μέθοδο αυτή: Το ρολόι προσομοίωσης παίρνει αρχική τιμή μηδέν και υπολογίζονται οι χρόνοι που θα συμβούν τα μελλοντικά γεγονότα. Στη συνέχεια το ρολόι προχωράει και δείχνει το χρόνο του αμέσως επόμενου (πρώτου) γεγονότος. Στο σημείο αυτό ενημερώνεται η κατάσταση του συστήματος ότι έχει συμβεί κάποιο γεγονός αλλά ταυτόχρονα ανανεώνονται και οι πληροφορίες που διαθέτουμε σχετικά με τον αριθμό των γεγονότων που πρόκειται να συμβούν μελλοντικά. 14
15 Τότε το ρολόι προσομοίωσης προχωρά και δείχνει το χρόνο που θα συμβεί το καινούργιο πιο επικείμενο γεγονός, ενημερώνεται ξανά η κατάσταση του συστήματος και ορίζονται οι χρόνοι που θα συμβούν τα επόμενα γεγονότα. Το ρολόι προσομοίωσης προχωρά από το ένα γεγονός στο άλλο και η διαδικασία συνεχίζεται έως ότου ικανοποιηθεί κάποια συνθήκη τέλους Παράγοντες Μοντέλου Προσομοίωσης Διακριτών Γεγονότων Όλα τα μοντέλα προσομοίωσης διακριτών γεγονότων περιέχουν ορισμένους παράγοντες οι οποίοι είναι οργανωμένοι με κάποια συγκεκριμένη λογική για την εύκολη κωδικοποίηση, εύρεση λαθών αλλά και για μελλοντικές μεταβολές του προγράμματος του μοντέλου προσομοίωσης. Στα περισσότερα μοντέλα προσομοίωσης διακριτών γεγονότων συναντώνται οι ακόλουθοι παράγοντες ή μεταβλητές [10]: Κατάσταση Συστήματος (System State): περιγράφεται κάποια συγκεκριμένη χρονική στιγμή από μια συλλογή μεταβλητών κατάστασης απαραίτητες για το σκοπό αυτό. Ρολόι Προσομοίωσης (Simulation Clock): όπως ειπώθηκε παραπάνω, είναι μια μεταβλητή που δίνει την τρέχουσα τιμή του χρόνου προσομοίωσης. Λίστα Γεγονότων (Event List): είναι μία λίστα που περιέχει τον επόμενο χρόνο που θα συμβεί ο κάθε τύπος γεγονότος. Στατιστικοί Μετρητές (Statistical Counters): είναι μεταβλητές στις οποίες αποθηκεύονται στατιστικές πληροφορίες σχετικά με την απόδοση του συστήματος. Ρουτίνα Έναρξης (Initialization Routine): είναι ένα υποπρόγραμμα το οποίο ορίζει την έναρξη του μοντέλου προσομοίωσης στο χρόνο μηδέν. Ρουτίνα Χρόνου (Timing Routine): είναι ένα υποπρόγραμμα το οποίο καθορίζει ποιο θα είναι το επόμενο γεγονός που θα συμβεί από τη λίστα γεγονότων και, αφού το καθορίσει, προχωρά το ρολόι προσομοίωσης για να δείξει το χρόνο στον οποίο θα συμβεί το γεγονός αυτό. Ρουτίνες Γεγονότων (Event Routines): είναι υποπρογράμματα τα οποία ενημερώνουν την κατάσταση του συστήματος όταν συμβαίνει ένα γεγονός συγκεκριμένου τύπου (για κάθε τύπο γεγονότος υπάρχει η αντίστοιχη ρουτίνα γεγονότος). 15
16 Ρουτίνες Βιβλιοθήκης (Library Routines): είναι ένα σύνολο υποπρογραμμάτων τα οποία χρησιμοποιούνται για την παραγωγή τυχαίων παρατηρήσεων από κατανομές πιθανοτήτων που έχουν οριστεί σαν τμήμα του μοντέλου προσομοίωσης. Ρουτίνα Αποτελεσμάτων (Report Routine): είναι ένα υποπρόγραμμα το οποίο υπολογίζει εκτιμήσεις των παραμέτρων απόδοσης από τους στατιστικούς μετρητές και παράγει ένα σύνολο αποτελεσμάτων όταν ολοκληρωθεί η προσομοίωση. Κυρίως Πρόγραμμα (Main Program): είναι ένα υποπρόγραμμα το οποίο αρχικά καλεί τη ρουτίνα χρόνου ώστε να καθοριστεί το επόμενο γεγονός. Στη συνέχεια, μεταφέρει τον έλεγχο στην αντίστοιχη ρουτίνα γεγονότος ώστε να ενημερωθεί κατάλληλα η κατάσταση του συστήματος. Παράλληλα ελέγχει τη συνθήκη τέλους και όταν τελειώσει η προσομοίωση, τότε καλεί τη ρουτίνα αποτελεσμάτων. Η ροή ελέγχου ανάμεσα στους παράγοντες αυτούς φαίνεται στο σχήμα που απεικονίζεται παρακάτω. Στη συνέχεια ακολουθεί μια περιγραφή του τρόπου με τον οποίο επικοινωνούν αυτοί οι παράγοντες μεταξύ τους έτσι ώστε να γίνει καλύτερα κατανοητή η διαδικασία της προσομοίωσης διακριτών γεγονότων. 16
17 Έναρξη Κυρίως πρόγραμμα 1. Θέσε το ρολόι προσομοίωσης = 0 2. Θέσε αρχικές συνθήκες στην κατάσταση του συστήματος και στους στατιστικούς μετρητές 3. Θέσε αρχικές τιμές στη λίστα γεγονότων 0 0. Κάλεσε τη Ρουτίνα Έναρξης Με επανάληψη τα 1 και 2: 1.Κάλεσε τη Ρουτίνα Χρόνου 2. Κάλεσε τη Ρουτίνα Γεγονότος i 1 i 1. Καθόρισε τον τύπο του επόμενου γεγονότος, π.χ. i 2.Προχώρησε το Ρολόι Προσομοίωσης 2 Ρουτίνα Χρόνου Ρουτίνα Έναρξης Ρουτίνα Γεγονότος i 1. Ενημέρωσε την κατάσταση του συστήματος 2. Ενημέρωσε τους στατιστικούς μετρητές 3. Δημιούργησε μελλοντικά γεγονότα και πρόσθεσέ τα στη λίστα γεγονότων Δημιούργησε τυχαίες παρατηρήσεις Ρουτίνες Βιβλιοθήκης Όχι Τέλος Προσομοίωσης? Ναι Ρουτίνα Αποτελεσμάτων 1. Να υπολογισθούν οι εκτιμήτριες 2. Να γραφούν τα αποτελέσματα Τέλος Σχήμα 2: Μοντέλο Προσομοίωσης Διακριτών Γεγονότων 17
18 Το κυρίως πρόγραμμα καλεί τη ρουτίνα έναρξης. Στη ρουτίνα αυτή, το ρολόι προσομοίωσης παίρνει τιμή μηδέν οπότε και η προσομοίωση ξεκινά στο χρόνο μηδέν. Στην ίδια ρουτίνα, παίρνουν αρχικές τιμές οι στατιστικοί μετρητές καθώς και η λίστα γεγονότων. Μόλις επιστρέψει ο έλεγχος στο κυρίως πρόγραμμα, η επόμενη ρουτίνα που καλείται από αυτό είναι η ρουτίνα χρόνου, με σκοπό να αποφασιστεί ο τύπος του πιο επικείμενου γεγονότος. Εάν το γεγονός που θα συμβεί είναι για παράδειγμα τύπου i, τότε ο χρόνος προσομοίωσης προχωράει και δείχνει το χρόνο που θα συμβεί το γεγονός του τύπου i. Αμέσως μετά ο έλεγχος επιστρέφει και πάλι στο κυρίως πρόγραμμα. Έπειτα, το κυρίως πρόγραμμα καλεί τη ρουτίνα γεγονότος i, όπου συμβαίνουν με τη σειρά τα ακόλουθα: ενημερώνεται η κατάσταση του συστήματος με το συμβάν του γεγονότος τύπου i, ενημερώνονται οι στατιστικοί μετρητές, υπολογίζονται οι χρόνοι που θα συμβούν τα μελλοντικά γεγονότα και, τέλος, ενημερώνεται η λίστα γεγονότων. Πολλές φορές πρέπει να δημιουργηθούν τυχαίες παρατηρήσεις από κατανομές πιθανοτήτων ώστε να καθοριστούν οι χρόνοι αυτών των μελλοντικών γεγονότων. Μια τέτοια παρατήρηση ονομάζεται τυχαία παρατήρηση (random variate). Αφού εκτελεστεί η απαραίτητη λειτουργία, είτε στο κυρίως πρόγραμμα είτε στη ρουτίνα γεγονότος i, γίνεται έλεγχος εάν πληρείται κάποια συνθήκη τέλους ώστε να τερματιστεί η προσομοίωση. Εάν πρέπει να σταματήσει η προσομοίωση, καλείται από το κυρίως πρόγραμμα η ρουτίνα αποτελεσμάτων ώστε να υπολογιστούν οι εκτιμήσεις των παραμέτρων απόδοσης που μας ενδιαφέρουν και να παραχθούν αποτελέσματα. Εάν δεν πληρείται η συνθήκη τέλους της προσομοίωσης, ο έλεγχος επιστρέφει στο κυρίως πρόγραμμα και εκτελείται συνεχώς η διαδικασία που περιγράφηκε μέχρις ότου ισχύσει η συνθήκη τέλους. 18
19 1.6.3 Οργάνωση Μοντέλου Προσομοίωσης Διακριτών Γεγονότων Αρχικά πρέπει να αναφερθούν κάποια βασικά στοιχεία για τις οντότητες αλλά και για τον τρόπο που αυτές οργανώνονται. Ο όρος οντότητες προσδιορίζει ένα στοιχείο ως μια διακριτή μονάδα που συμμετέχει στη μετακίνηση δεδομένων. Οι οντότητες προκαλούν γεγονότα αλλά και ανταποκρίνονται σε γεγονότα. Διαχωρίζονται σε [11]: Εξωτερικές (external) ή εσωτερικές (internal): Οι εξωτερικές είναι αυτές που τα χαρακτηριστικά τους καθορίζονται από το σχεδιαστή του συστήματος ενώ οι εσωτερικές δημιουργούνται και ορίζονται εσωτερικά από το λογισμικό προσομοίωσης που χρησιμοποιείται και από το σύστημα που κατασκευάζει ο σχεδιαστής. Μόνιμες (permanent) ή προσωρινές (temporary): Οι μόνιμες παραμένουν στο σύστημα κατά την προσομοίωση ενώ οι προσωρινές περνούν από το σύστημα χωρίς να έχει σημασία αν θα φύγουν από αυτό. Ενεργητικές (active) ή παθητικές (passive): Οι ενεργητικές χρησιμοποιούνται για την επεξεργασία άλλων οντοτήτων ενώ οι παθητικές υπόκεινται σε επεξεργασία από άλλες οντότητες. Οι οντότητες ομαδοποιούνται σε κλάσεις, δηλαδή ομοειδείς ομάδες. Με τον τρόπο αυτό γίνεται εύκολα η αναφορά σε πολλές ή όλες τις ομοειδείς οντότητες. Τα χαρακτηριστικά των οντοτήτων μπορεί να είναι ένα ή και περισσότερα για κάθε μια οντότητα και στοχεύουν στην υποδιαίρεση των κλάσεων αφού ομαδοποιούν τις οντότητες, σε οντότητες με κοινά χαρακτηριστικά. Επίσης προσφέρουν στο χρήστη μια ακόμα δυνατότητα αυξημένου ελέγχου της συμπεριφοράς κάθε κλάσεως ή κάθε οντότητας καθώς και τη δυνατότητα καθορισμού της ουράς. Τα σύνολα των οντοτήτων ορίζονται με την αλλαγή κατάστασης των οντοτήτων. Τα μέλη των συνόλων καθορίζουν τη συνολική κατάσταση του συστήματος [11]. Δύο είναι οι μηχανισμοί που χρησιμοποιούνται στην οργάνωση ενός προγράμματος προσομοίωσης διακριτών γεγονότων. Ο πρώτος ονομάζεται τρόπος προσέγγισης με σχεδιασμό γεγονότων και χρησιμοποιείται στην περίπτωση που ο κώδικας της προσομοίωσης γράφεται σε μια γλώσσα γενικού σκοπού όπως είναι η C. Με αυτόν το μηχανισμό ορίζονται πλήρως οι χρόνοι των μελλοντικών γεγονότων που σχεδιάζονται να συμβούν στο μέλλον της προσομοίωσης. Ο δεύτερος μηχανισμός ονομάζεται τρόπος προσέγγισης με διεργασίες και ο κώδικας προγράμματος που γράφεται, περιγράφει την εμπειρία μιας τυπικής οντότητας καθώς αυτή κινείται μέσα στο σύστημα. Για να γραφεί κώδικας για μοντέλα προσομοίωσης με το μηχανισμό αυτό, απαιτείται λογισμικό ειδικού σκοπού (π.χ. GPSS/H). Ακόμη και σε αυτήν την περίπτωση όμως, η προσομοίωση διεξάγεται κατά βάθος με τη λογική του πρώτου μηχανισμού [1]. 19
20 2. Συστήματα Grid 2.1 Ορισμός Ένας από τους αρχικούς ορισμούς του Grid δόθηκε στο βιβλίο The Grid: Blueprint for a new computing infrastructure, το οποίο δημοσιεύθηκε στις αρχές του Στο βιβλίο αυτό, το Grid αναφέρεται ως μια υποδομή υλικού και λογισμικού που παρέχει αξιόπιστη (dependable), συνεπή (consistent), διαπεραστική (pervasive) και φθηνή (inexpensive) πρόσβαση σε high - end υπολογιστικές δυνατότητες [12]. Μέχρι τότε οι επιστήμονες και οι ερευνητές χρησιμοποιούσαν τον όρο μετα-σύστημα (meta-system) ή μετα-κομπιούτερ (meta-computer) για να περιγράψουν ένα υπολογιστικό Grid [13-15]. Από την έκδοση, όμως, του βιβλίου έως σήμερα, έχουν επέλθει πολλές τεχνολογικές αλλαγές στην επιστήμη των υπολογιστών οι οποίες είχαν ως αποτέλεσμα την εξέλιξη της τεχνολογίας του Grid. Επομένως, είναι περισσότερο από εμφανής η ανάγκη για σαφείς ορισμούς και περιγραφές σχετικά με την τεχνολογία του Grid, κυρίως επειδή προκύπτουν συνεχώς νέα θέματα τα οποία πρέπει να λαμβάνονται υπόψη [16, 17]. Έχουν διατυπωθεί διάφοροι ορισμοί για το Grid κάποιοι από τους οποίους είναι οι ακόλουθοι [2]: Το Grid είναι ένας τύπος παράλληλου και κατανεμημένου συστήματος που δίνει τη δυνατότητα διαμοίρασης, επιλογής και ενοποίησης γεωγραφικά κατανεμημένων πόρων (υπολογιστών, δεδομένων, συσκευών) με βάση τη διαθεσιμότητά τους, τις απαιτήσεις για ποιότητα υπηρεσίας (QoS) από τον χρήστη και το κόστος. Το Grid είναι ένα μεγάλης κλίμακας (large-scale) εικονικό σύστημα (virtual system) που διαχειρίζεται δεδομένα (data-handling). Σχηματίζεται από το σύνολο των υπηρεσιών που παρέχονται από κατανεμημένους πόρους. Είναι μια γενική υποδομή διαμοιρασμού πόρων γεωγραφικά κατανεμημένων σε δίκτυο ευρείας περιοχής (wide-area network), στην οποία χρησιμοποιούνται υπολογιστικά συστήματα για διάφορες εφαρμογές μεγάλων υπολογιστικών απαιτήσεων. Το ερευνητικό κέντρο CERN ορίζει το Grid ως μια υπηρεσία η οποία διαμοιράζει υπολογιστική ισχύ (computer power) και αποθηκευτικό χώρο δεδομένων (data storage) [18]. Σύμφωνα με τον I. Foster [19], το Grid είναι ένα σύστημα που: Συντονίζει πόρους που δεν υπόκεινται σε κεντρικό έλεγχο (πόροι και χρήστες που υπάρχουν σε διαφορετικά πεδία ελέγχου (control domains), για παράδειγμα desktop χρήστη με central computing). Δεν είναι ένα σύστημα τοπικής διαχείρισης. Χρησιμοποιεί τυποποιημένα, ανοικτά και γενικού σκοπού πρωτόκολλα και διεπαφές. Με αυτόν τον τρόπο υλοποιούνται θεμελιώδεις λειτουργίες, όπως πιστοποίηση (authentication), εξουσιοδότηση (authorization), εύρεση πόρων (resource discovery) και πρόσβαση σε πόρους 20
21 (resource access). Τα πρωτόκολλα πρέπει να είναι τυποποιημένα και ανοικτά για να μην είναι το σύστημα συγκεκριμένης εφαρμογής. Προσφέρει σημαντική ποιότητα υπηρεσίας (Quality of Service). Η ποιότητα υπηρεσίας μπορεί να είναι σε διάφορα επίπεδα, όπως χρόνος απόκρισης, ρυθμοαπόδοση, διαθεσιμότητα, ασφάλεια, κατανομή πόρων, ώστε να ικανοποιούνται πολύπλοκες απαιτήσεις χρηστών. Ο στόχος είναι η ωφέλεια από το συνδυαζόμενο σύστημα να είναι μεγαλύτερη από αυτήν που προσφέρει το άθροισμα των μερών του. Εικόνα 1: Απεικόνιση Grid, γεωγραφικά διασπαρμένοι ετερογενείς πόροι 2.2 Τύποι Grids Στην ενότητα αυτή ορίζονται οι διαφορετικοί τύποι Grids που είναι ευρέως γνωστοί. Γενικά τα Grids μπορούν να ταξινομηθούν με βάση τον τύπο των πόρων που διανέμουν, την κλίμακα στην οποία ανήκουν και τις υπηρεσίες που προσφέρουν [20] Ταξινόμηση με βάση τον τύπο των πόρων που διανέμουν Τα Grids μπορούν να ταξινομηθούν με βάση τον τύπο των πόρων που διαμοιράζουν. Κάποια Grids μπορεί να διαμοιράζουν περισσότερους από έναν τύπους πόρων και επομένως μπορεί να εκπίπτουν σε περισσότερες από μία εκ των παρακάτω κατηγοριών: 21
22 Υπολογιστικά (Computational) Grids. Διαμοιράζουν κυρίως πόρους της CPU. Παραδείγματα αποτελούν το TeraGrid, το οποίο έχει περισσότερα από 750 teraflops και το το οποίο συναθροίζει την υπολογιστική δύναμη εκατομμυρίων οικιακών υπολογιστών. Grids Δεδομένων (Data Grids). Διαμοιράζουν πόρους δεδομένων (π.χ. αποτελέσματα από πειράματα) μεταξύ των χρηστών. Τυπικά, τα Grids δεδομένων διαχειρίζονται πολύ μεγάλο όγκο κατανεμημένων δεδομένων, όπως το QCDGrid ή το LHC Computing Grid. Grids Αποθήκευσης (Storage Grids). Παρέχουν στους χρήστες πρόσβαση σε έναν τεράστιο αποθηκευτικό χώρο. Ένα από τα μεγαλύτερα και πιο γνωστά παραδείγματα ενός Grid αποθήκευσης είναι το Amazon S3. Grids εξοπλισμού (Equipment Grids). Διαμοιράζουν πρόσβαση σε φυσικούς πόρους, όπως τα αστρονομικά τηλεσκόπια στο έργο e-star Ταξινόμηση με βάση την κλίμακα που ανήκουν Τα Grids μπορούν επίσης να ταξινομηθούν με βάση το πώς είναι κατανεμημένοι γεωγραφικά οι πόροι τους σε: Internet - scale Grids. Τα Grids κλίμακας internet μπορούν να συμπεριλάβουν δυνητικά οποιονδήποτε έχει πρόσβαση στο διαδίκτυο. Παραδείγματα αποτελούν το SETI@home και το Grid παγκόσμιας κοινότητας (World Community Grid) τα οποία περιέχουν χιλιάδες υπολογιστές διάσπαρτους σε όλη την υδρόγειο. VO (Virtual Organization) - scale Grids. Ένα Grid κλίμακας εικονικού οργανισμού αναφέρεται σε διάφορες ακαδημαϊκές ή εταιρικές οντότητες. Σε αυτήν την κατηγορία ανήκουν το TeraGrid και το QCDGrid. Local - scale Grids. Ένα τοπικό Grid περικλείεται εξ ολοκλήρου μέσα σε έναν οργανισμό. Οι εταιρείες συνήθως έχουν πρόσβαση στο δικό τους cluster προκειμένου να επεξεργαστούν διάφορες εργασίες. Για παράδειγμα, τα υπολογιστικά συστήματα υψηλής απόδοσης (render farm) που χρησιμοποιούνται στην παραγωγή ταινιών κινουμένων σχεδίων είναι μια μορφή Grid τοπικής κλίμακας Ταξινόμηση με βάση τις υπηρεσίες που προσφέρουν Στην ουσία, αυτό που ενδιαφέρει περισσότερο τον χρήστη σχετικά με το Grid είναι το είδος των υπηρεσιών που του παρέχει. Για παράδειγμα, ένα Grid αποθήκευσης του δίνει τη δυνατότητα να αποθηκεύσει δεδομένα ενώ ένα Grid δεδομένων του δίνει πρόσβαση σε συγκεκριμένους πόρους δεδομένων. 22
23 Τα περισσότερα υπολογιστικά Grids είναι ικανά να τρέξουν οποιαδήποτε εφαρμογή του χρήστη. Όμως, υπάρχουν κάποια Grids στα οποία κάποιες εφαρμογές δεν μπορούν να εκτελεστούν είτε επειδή δεν υπάρχει άδεια για κάτι τέτοιο είτε επειδή υπάρχουν περιορισμοί στη συγκεκριμένη πλατφόρμα. Αυτό το μειονέκτημα έρχονται να καλύψουν τα υπολογιστικά Clouds τα οποία, σε αντίθεση με τα Grids, κατηγοριοποιούνται με βάση την εφαρμογή. Το Cloud μπορεί να οριστεί ως μια μορφή Grid που συχνά χρησιμοποιεί την τεχνολογία εικονικοποίησης (virtualization) για βέλτιστη και απλούστερη χρήση πόρων. Η βασική τους διαφορά είναι ότι το Cloud εστιάζει στην παροχή των πόρων, ενώ το Grid στον διαμοιρασμό αυτών (resource provisioning vs resource sharing). Το Cloud μπορεί να συνδυάσει υπηρεσίες για να παρουσιάσει στον χρήστη ένα ομοιογενές βελτιστοποιημένο αποτέλεσμα. Ο κύριος στόχος στο Grid είναι η αποδοτική χρήση της επεξεργαστικής δύναμης και η σημαντική μείωση του χρόνου που χρειάζεται η εκτέλεση μίας εργασίας [21]. Προς το παρόν, τα πιο διαδεδομένα είδη υπηρεσιών που προσφέρονται από τα Grids είναι επιστημονικές προσομοιώσεις (scientific simulations), web εφαρμογές (web applications) και φόρμες γραφικού περιβάλλοντος (forms of graphical rendering). Το Cloud computing συνήθως προσφέρει στους καταναλωτές web εφαρμογές όπως το Google Apps [20]. 2.3 Αρχιτεκτονική Σε αυτήν την ενότητα παρουσιάζεται η αρχιτεκτονική του Grid, στην οποία αναγνωρίζονται τα θεμελιώδη συστατικά του συστήματος, ορίζονται ο σκοπός και η λειτουργία τους και υποδεικνύεται ο τρόπος με τον οποίο αλληλεπιδρούν μεταξύ τους. Στην ακόλουθη εικόνα είναι εμφανής η οργάνωση των συστατικών αυτών σε επίπεδα (layers) [12, 22]: Εικόνα 2: Αρχιτεκτονική του Grid 23
24 Επίπεδο Δομής (Fabric Layer): Παρέχει τους πόρους στους οποίους η διαμοιραζόμενη πρόσβαση γίνεται με τη μεσολάβηση πρωτοκόλλων του Grid, για παράδειγμα υπολογιστικούς πόρους, συστήματα αποθήκευσης, καταλόγους, δικτυακούς πόρους και αισθητήρες. Επίπεδο Συνδεσιμότητας (Connectivity Layer): Ορίζει τα θεμελιώδη πρωτόκολλα επικοινωνίας και πιστοποίησης που είναι απαραίτητα για τις δικτυακές συνδιαλλαγές στο Grid. Τα πρωτόκολλα επικοινωνίας επιτρέπουν τη συνδιαλλαγή δεδομένων μεταξύ των πόρων του επιπέδου Δομής ενώ τα πρωτόκολλα πιστοποίησης παρέχουν ασφαλείς κρυπτογραφημένους μηχανισμούς πιστοποίησης των χρηστών. Επίπεδο Πόρων (Resource Layer): Χρησιμοποιεί τα πρωτόκολλα που έχουν οριστεί στο επίπεδο Συνδεσιμότητας και επιτρέπει στον πιστοποιημένο χρήστη να χειριστεί απομακρυσμένους δικτυακούς πόρους και υπηρεσίες. Ο ρόλος του επιπέδου αυτού είναι η διαπραγμάτευση, η αρχικοποίηση, η επίβλεψη, ο έλεγχος και η πληρωμή για τις λειτουργίες της διαμοίρασης μεμονωμένων πόρων. Επίσης, καλεί τις λειτουργίες που εφαρμόζονται στο επίπεδο Δομής για την πρόσβαση και τον έλεγχο των τοπικών πόρων. Σημειώνεται ότι το επίπεδο Πόρων - σε αντίθεση με το επίπεδο Συνδεσιμότητας - ασχολείται με μεμονωμένους πόρους αγνοώντας τη γενική κατάσταση που επικρατεί καθώς και τις δραστηριότητες που λαμβάνουν χώρα στη δεξαμενή των πόρων (resource pool). Επίπεδο Συγκεντρωτικών Υπηρεσιών (Collective Services Layer): Σε αντίθεση με το επίπεδο Πόρων που διαχειρίζεται ένα μεμονωμένο πόρο, το επίπεδο αυτό είναι υπεύθυνο για τη γενική διαχείριση των πόρων και για τις αλληλεπιδράσεις ανάμεσα σε συλλογές πόρων. Παραδείγματα τέτοιων υπηρεσιών είναι οι υπηρεσίες καταλόγου, οι υπηρεσίες δρομολόγησης, οι υπηρεσίες επίβλεψης και οι υπηρεσίες αντιγράφων ασφαλείας δεδομένων. Επίπεδο Εφαρμογών Χρήστη (User Application Layer): Είναι το υψηλότερο επίπεδο της αρχιτεκτονικής του Grid. Αποτελείται από τις εφαρμογές των χρηστών και κάνει εφικτή τη χρήση των πόρων χρησιμοποιώντας τόσο συνεργατικά πρωτόκολλα όσο και πρωτόκολλα πρόσβασης σε πόρους. 2.4 Πόροι Τα συστήματα διαχείρισης πόρων (Resource Management Systems) διαχειρίζονται την προσφορά και τη ζήτηση για πόρους. Ο στόχος τους είναι η ανάθεση των πόρων να είναι αμερόληπτη, η χρήση των πόρων να είναι αποδοτική, οι χρήστες να είναι ικανοποιημένοι και οι διεργασίες υψηλής προτεραιότητας να έχουν ειδική μεταχείριση. Τα βασικά χαρακτηριστικά των πόρων στο Grid είναι: 24
25 Αυτονομία: Κάθε ένας πόρος έχει τη δική του πολιτική ανάθεσης και δεν υπάρχει κεντρικός έλεγχος. Ετερογένεια: Διαφορετικοί πόροι (Clusters, Windows, Linux). Διαθεσιμότητα που μεταβάλλεται: Ο αριθμός των διαθέσιμων πόρων μεταβάλλεται με το χρόνο. 2.5 Χρήστες Μερικές από τις κατηγορίες χρηστών του Grid είναι [23]: Χρήστες εφαρμογών (End Users): Αυτοί που κάνουν χρήση των εφαρμογών. Σχεδιαστές εφαρμογών (Application Developers): Αυτοί που σχεδιάζουν και αναπτύσσουν εφαρμογές που μπορούν να εκτελεστούν σε Grid υποδομές. Διαχειριστές συστημάτων Grid (Grid Administrators): Αυτοί που διαχειρίζονται υποδομές Grid και εξασφαλίζουν τη σωστή λειτουργία τους. Σχεδιαστές συστημάτων Grid (Grid Developers): Αυτοί που ασχολούνται με την ανάπτυξη, το σχεδιασμό και την εφαρμογή των νέων υπηρεσιών. Σχεδιαστές εργαλείων (Tool Developers): Αυτοί που ασχολούνται με την ανάπτυξη εργαλείων, μεταγλωττιστών και βιβλιοθηκών. 2.6 Δυνατότητες Το Grid σχεδιάζεται με τέτοιον τρόπο ώστε να μπορεί να ικανοποιήσει όσο γίνεται περισσότερες απαιτήσεις των πελατών - χρηστών. Είναι δυνατό να αντεπεξέλθει σε αυτές τις απαιτήσεις, καθώς διαθέτει πάρα πολλές δυνατότητες. Ορισμένες από τις δυνατότητες του Grid αναφέρονται παρακάτω [24]: Καλύτερη αξιοποίηση των πόρων (Exploiting underutilized resources): Για την αποδοτικότερη εκμετάλλευση των διαθέσιμων πόρων ο χρήστης μπορεί να εκτελεί την εφαρμογή του κατά κύριο λόγο στο δικό του μηχάνημα και παράλληλα (εάν είναι εφικτό) να στέλνει μέρος της εφαρμογής αυτής στο Grid για να εκτελεστεί σε ένα απομακρυσμένο μηχάνημα. Επίσης, είναι δυνατό η εφαρμογή να εκτελεστεί εξ ολοκλήρου σε κάποιο αδρανές μηχάνημα εφόσον είναι διαθέσιμο στο Grid. Οι προϋποθέσεις για να συμβούν τα παραπάνω είναι να διαθέτει το απομακρυσμένο μηχάνημα κατάλληλο υλικό και λογισμικό για την εκτέλεση της εφαρμογής κι επίσης η εφαρμογή να είναι σχεδιασμένη με βάση τους μηχανισμούς του Grid. 25
26 Δυνατότητα παράλληλης υπολογιστικής επεξεργασίας (Parallel CPU Capacity): Η δυνατότητα αυτή προϋποθέτει τον χωρισμό των αλγορίθμων σε τμήματα που μπορούν να εκτελεστούν παράλληλα. Έτσι, ξεχωριστά τμήματα κώδικα μπορούν να σταλούν για εκτέλεση σε διαφορετικούς επεξεργαστές με αποτέλεσμα να μειωθεί ο συνολικός χρόνος εκτέλεσης της εφαρμογής. Αυτή η τεχνική επιδιώκεται συνήθως για εφαρμογές που απαιτούν μεγάλη υπολογιστική ισχύ. Αυτό όμως δεν είναι πάντα εφικτό, καθώς είναι δύσκολο να χωριστεί μια εφαρμογή σε τελείως ανεξάρτητα κομμάτια. Επιπλέον, είναι πιθανό να συμβούν συγκρούσεις όταν υπάρχουν κοινά αρχεία ή κοινές βάσεις δεδομένων για ανάγνωση και αποθήκευση δεδομένων. Εφαρμογές (Applications): Υπάρχουν πολλοί παράγοντες που καθορίζουν αν μια εφαρμογή μπορεί να υποβληθεί σε ένα σύστημα Grid. Ο κυριότερος από αυτούς είναι η δυνατότητα «τεμαχισμού» της σε τμήματα με σκοπό την παράλληλη εκτέλεσή τους στο υπολογιστικό Grid. Σημαντικό μειονέκτημα αποτελεί το γεγονός ότι δεν υπάρχουν ακόμα εργαλεία που να εξυπηρετούν τον παραπάνω στόχο κι αυτό επειδή η διαδικασία αυτόματου διαχωρισμού μιας διεργασίας σε παράλληλα τμήματα (όταν ο διαχωρισμός μπορεί να επιτευχθεί) βρίσκεται ακόμα σε πρώιμο στάδιο. Αξίζει να σημειωθεί ότι κάτι τέτοιο είναι εξαιρετικά δύσκολο και απαιτεί υψηλού επιπέδου μαθηματικές και προγραμματιστικές ικανότητες. Ωστόσο, υπάρχουν εργαλεία που σχεδιάζουν εξ αρχής παραλληλοποιήσιμες εφαρμογές κι έτσι αυτές μπορούν να υποβάλλονται στο Grid και να χρησιμοποιούν τη δυνατότητα παράλληλης επεξεργασίας που αυτό παρέχει, όπως αναφέρθηκε προηγουμένως. Εικονικοί πόροι και εικονικοί οργανισμοί για συνεργασία (Virtual resources and virtual organizations for collaboration): Οι τεχνολογίες Grid, χρησιμοποιώντας την επεξεργαστική ισχύ χιλιάδων υπολογιστών σε παγκόσμιο επίπεδο, επιτρέπουν την ανάπτυξη μιας πληθώρας επιστημονικών εφαρμογών που απαιτούν επεξεργασία και αποθήκευση τεράστιου όγκου δεδομένων, εφαρμογών προσομοίωσης και μοντελοποίησης μεγάλης κλίμακας, καθώς και τη δημιουργία εικονικών οργανισμών (Virtual Organizations) για ενιαία πρόσβαση σε κοινόχρηστους πόρους από άτομα με κοινά επιστημονικά ενδιαφέροντα. Αυτό έχει ως αποτέλεσμα ετερογενή υπολογιστικά συστήματα πόρων να συμπεριφέρονται σαν ένα μεγάλο εικονικό σύστημα που διαθέτει μεγάλη ποικιλία εικονικών πόρων. Επιπλέον, με αυτήν τη διαδικασία υπάρχει μεγαλύτερη ασφάλεια στη φύλαξη των δεδομένων καθώς κρατούνται αντίγραφα ασφαλείας (backup) των πιο κρίσιμων δεδομένων. Πρόσβαση σε πρόσθετους πόρους (Access to additional resources): Οι πόροι που χρησιμοποιούνται μέσω του Grid δεν είναι απαραίτητο να είναι επεξεργαστικοί (CPU resources) ή αποθηκευτικοί (storage resources). Υπάρχουν κι άλλων ειδών πόροι που μπορούν να μοιραστούν μέσω του Grid, όπως π.χ. κάποιο λογισμικό (software), κάποιος ειδικός εξοπλισμός, άδειες χρήσης καθώς κι άλλες υπηρεσίες. Για παράδειγμα, υπάρχει περίπτωση σε κάποιο μηχάνημα του Grid να είναι εγκατεστημένο κάποιο πρόγραμμα με πολύ ακριβή άδεια χρήσης αλλά να μπορεί κάθε χρήστης να το χρησιμοποιήσει (με διάφορους περιορισμούς) χωρίς να 26
27 χρειάζεται να το αγοράσει. Αντίστοιχα, μπορεί κάποιος χρήστης να έχει ένα διαφορετικό πρόγραμμα που θα το συνεισφέρει στο Grid. Επίσης, έχει αρχίσει ήδη να υλοποιείται η δημιουργία οδηγών (drivers) για χρήση υλικού (hardware) μέσω του Grid, όπως π.χ. εκτυπωτές ή DVD-recorders (με περιοριστικούς παράγοντες βέβαια). Εξισορρόπηση πόρων (Resource balancing): Μέσα στο Grid πολλοί πόροι ενοποιούνται «εικονικά». Σκοπός του Grid είναι η καλύτερη κατανομή των πόρων αυτών. Η διαχείριση των πόρων γίνεται με διάφορα κριτήρια, όπως η προτεραιότητα μιας εργασίας, ο φόρτος εργασίας ενός μηχανήματος κ.λπ. Έστω για παράδειγμα ένας server ο οποίος ξαφνικά δέχεται μια πληθώρα αιτημάτων με αποτέλεσμα ο φόρτος εργασίας του να αυξηθεί ραγδαία και να μην μπορεί να αντεπεξέλθει σε αυτά. Σε αυτήν την περίπτωση διαμοιράζεται ο φόρτος στα υπόλοιπα διαθέσιμα μηχανήματα του Grid. Εάν οι υπολογιστικοί πόροι όλων των μηχανημάτων χρησιμοποιούνται, τότε οι εργασίες με τη χαμηλότερη προτεραιότητα μπορούν να αδρανοποιηθούν μέχρι να διεκπεραιωθούν αυτές με την υψηλότερη. Επίσης, μπορεί να υπάρξει μία ακόμα λειτουργικότητα σε συνδυασμό με την ομαδοποίηση των χρηστών (virtual organizations). Είναι δυνατό να δίνεται ένα συγκεκριμένο ανώτατο όριο πόρων σε έναν οργανισμό και /ή να υπάρχει κάποια χρέωση για αυτό. Επίσης μπορεί να συμβαίνει και η ανάποδη χρέωση, δηλαδή ένας χρήστης να προσφέρει πόρους στο Grid, και με αυτόν τον τρόπο να υπάρχουν λογαριασμοί με ακριβή στατιστικά χρήσης του Grid. Εικόνα 3: Οι εργασίες «μεταναστεύουν» σε λιγότερο απασχολημένους πόρους του Grid ώστε να εξισορροπηθεί ο φόρτος 27
28 Αξιοπιστία (Reliability): Ένα σημαντικό ζήτημα για τα συστήματα υψηλών επιδόσεων είναι αυτό της αξιοπιστίας. Μεγάλοι οργανισμοί πληρώνουν υπέρογκα ποσά για να τη διασφαλίσουν προβαίνοντας σε αγορά εξειδικευμένων λύσεων, όπως πολλαπλούς hot plug (δυνατότητα για άμεση τοποθέτηση/αφαίρεση χωρίς να χρειάζεται επανεκκίνηση του μηχανήματος) επεξεργαστές και σκληρούς δίσκους, εξειδικευμένα συστήματα ψύξης καθώς και τροφοδοσίας. Στα συστήματα Grid η αξιοπιστία επιτυγχάνεται με τη χρήση συστοιχιών φθηνών υπολογιστών απομακρυσμένων συνήθως μεταξύ τους. Έτσι αν διαπιστωθεί απώλεια κάποιου μηχανήματος, η διεργασία εκτελείται αυτόματα σε άλλο κόμβο του Grid. Σε περιπτώσεις κρίσιμων διεργασιών πραγματικού χρόνου, πολλά αντίγραφα των σημαντικών διεργασιών εκτελούνται σε διαφορετικούς υπολογιστές μέσα στο Grid, όπως φαίνεται και στην παρακάτω εικόνα. Τα αποτελέσματα που προκύπτουν ελέγχονται για τυχόν λάθη λόγω βλάβης κάποιου υπολογιστή ή απώλειας δεδομένων. Εικόνα 4: Υλοποίηση εφεδρικών υπολογιστών στο Grid Διαχείριση (Management): Τα συστήματα Grid προσφέρουν τη δυνατότητα διαχείρισης διεργασιών με βάση την προτεραιότητα που τους δίνεται. Στο παρελθόν κάθε διεργασία ήταν συνδεδεμένη με το υλικό (hardware) του υπολογιστικού πόρου που αυτή χρησιμοποιούσε κι έτσι το κόστος ήταν εξαρτημένο από αυτό. Πολλές φορές το υλικό υπολειτουργούσε, όταν κάποια άλλη διεργασία χρειαζόταν περισσότερους πόρους για την εξυπηρέτησή της εξαιτίας μη αναμενόμενων γεγονότων. Στα συστήματα Grid είναι πιο εύκολο να αντιμετωπιστούν τέτοιες περιπτώσεις. Οι διαχειριστές (administrators) έχουν τη δυνατότητα να διαφοροποιήσουν τις 28
29 πολιτικές που επηρεάζουν τον τρόπο που οι οργανισμοί μοιράζονται τους πόρους ή συναγωνίζονται για αυτούς. Η συγκέντρωση δεδομένων χρησιμοποίησης για ένα σύνολο από projects μπορεί να ενισχύσει την ικανότητα ενός οργανισμού για τη σχεδίαση μελλοντικών αναγκών αναβάθμισης. Όταν κριθεί απαραίτητη η συντήρηση του συστήματος, οι διεργασίες μπορούν να δρομολογηθούν εκ νέου σε άλλα μηχανήματα χωρίς απώλειες. Στην εργασία [17] προτείνεται η μέθοδος των πινάκων επαναδρομολόγησης (Re-routing Tables), προκειμένου να βρεθεί ο καταλληλότερος πόρος. Εικόνα 5: Οι διαχειριστές μπορούν να προσαρμόσουν τις πολιτικές για την καλύτερη κατανομή των πόρων 2.7 Χρονοδρομολόγηση Εργασιών Η χρονοδρομολόγηση των εργασιών στο Grid πραγματοποιείται σε τρεις φάσεις στάδια. Κάθε φάση αποτελείται από μία σειρά πιο βασικών ενεργειών. Σε πρώτη φάση γίνεται εύρεση πόρων (resource discovery), δηλαδή βρίσκεται ένα σύνολο πόρων που ικανοποιεί κάποιες προϋποθέσεις. Στη δεύτερη φάση, επιλέγεται με κάποιο κριτήριο ένας πόρος (resource selection) από αυτούς που βρέθηκαν στην πρώτη φάση. Τέλος, στην τρίτη φάση πραγματοποιείται η εκτέλεση της διεργασίας (job execution). Στο ακόλουθο σχήμα απεικονίζονται οι τρεις αυτές φάσεις καθώς και τα βήματα της κάθε φάσης [25, 26]. Σημειώνεται ότι κανένας σύγχρονος Grid scheduler δεν εφαρμόζει όλα τα βήματα αυτής της αρχιτεκτονικής [25]. 29
30 ΦΑΣΗ 1 η : Εύρεση Πόρων ΦΑΣΗ 3 η : Εκτέλεση Εργασίας 1. Authorization Filtering 6. Advance Reservation 2. Application Definition 7. Job Submission 3. Min. Requirement Filtering 8. Preparation Tasks 9. Monitoring Progress ΦΑΣΗ 2 η : Επιλογή Πόρων 4. Information Gathering 10. Job completion 11. Clean-up Tasks 5. System Selection Σχήμα 3: Φάσεις Χρονοδρομολόγησης [25] ΦΑΣΗ 1 η : Εύρεση Πόρων Στην πρώτη φάση ορίζονται οι πόροι που είναι διαθέσιμοι να δοθούν στον χρήστη. Επιλέγεται ένα σύνολο πόρων για να μελετηθούν περισσότερο (ως προς την καταλληλότητά τους) στη δεύτερη φάση. Στην αρχή της φάσης αυτής, το σύνολο των πόρων είναι το κενό σύνολο ενώ στο τέλος της συμπεριλαμβάνονται οι πόροι που πιθανόν ικανοποιούν ένα μικρό μέρος των απαιτήσεων του χρήστη. Η εύρεση των πόρων επιτυγχάνεται σε τρία βήματα, τα οποία είναι [25, 26]: 1. Authorization Filtering: Ορίζεται το σύνολο των πόρων στο οποίο ο χρήστης έχει την εξουσιοδότηση να υποβάλλει τη διεργασία του. Έτσι, αποκλείονται αυτόματα οι πόροι στους οποίους δεν του επιτρέπεται η πρόσβαση. 2. Application Definition: Ο χρήστης δίνει περισσότερες πληροφορίες σχετικά με τη διεργασία που θα υποβάλλει στο Grid και με αυτόν τον τρόπο φιλτράρεται καλύτερα το σύνολο πόρων που έχει προκύψει (από το προηγούμενο βήμα). 30
31 3. Minimal Requirement Filtering: Σε αυτό το βήμα αποκλείονται οι πόροι που δεν ικανοποιούν τις απαιτήσεις της διεργασίας. ΦΑΣΗ 2 η : Επιλογή Πόρων Σε αυτήν τη φάση επιλέγεται, από το σύνολο πόρων που προέκυψε στην πρώτη φάση, ο επεξεργαστής στον οποίο θα σταλεί η διεργασία για εκτέλεση. Η διαδικασία αυτή ολοκληρώνεται σε δύο βήματα [25, 26]: 4. Information Gathering: Για να γίνει η καλύτερη δυνατή αντιστοίχιση διεργασίας πόρου απαιτείται λεπτομερής και δυναμική πληροφορία για τους πόρους. Έτσι αποτιμάται η διαθεσιμότητα και η κατάσταση των πόρων. 5. System Selection: Με βάση τις πληροφορίες που συγκεντρώθηκαν στο προηγούμενο βήμα λαμβάνεται η απόφαση για το ποιος πόρος θα χρησιμοποιηθεί. Ενδέχεται να υπάρχουν περισσότερες από μία επιλογές. ΦΑΣΗ 3 η : Εκτέλεση Εργασίας Πρόκειται για την τελευταία φάση της χρονοδρομολόγησης κατά την οποία πραγματοποιούνται η εκτέλεση της διεργασίας και η λήψη των αποτελεσμάτων από τον χρήστη. Η διαδικασία αυτή ολοκληρώνεται σε έξι βήματα τα οποία περιγράφονται παρακάτω [25, 26]: 6. Advance Reservation: Βεβαιώνεται ότι όλοι οι πόροι που επιλέχθηκαν θα είναι ταυτόχρονα διαθέσιμοι την ώρα εκτέλεσης της διεργασίας. 7. Job Submission: Υποβάλλεται η διεργασία στους πόρους που έχουν επιλεχθεί. 8. Preparation Tasks: Απαιτείται μία προετοιμασία (εγκατάσταση, μετάφραση κ.λπ) ώστε να είναι έτοιμοι οι πόροι να εκτελέσουν τη διεργασία. 9. Monitoring Progress: Ο χρήστης έχει τη δυνατότητα να παρακολουθεί την πρόοδο εκτέλεσης της διεργασίας του. Αυτό βέβαια εξαρτάται από τον τύπο της εφαρμογής και τον χρόνο που χρειάζεται για να εκτελεστεί. Έτσι, εάν το επιθυμεί, μπορεί να την ακυρώσει ή να την υποβάλλει ξανά. 10. Job Completion: Ο χρήστης ειδοποιείται όταν ολοκληρωθεί η εκτέλεση της διεργασίας του. Συνήθως, submission scripts παράλληλων μηχανημάτων ειδοποιούν τους χρήστες μέσω Clean-up Tasks: Στο τέλος ο χρήστης ίσως θελήσει να ανακτήσει κάποια αρχεία από τον επεξεργαστή που εκτέλεσε τη διεργασία του ώστε να αναλύσει τα αποτελέσματα που προέκυψαν ή να αφαιρέσει κάποιες προσωρινές ρυθμίσεις που έκανε στο σύστημα για να 31
32 εκτελεστεί η διεργασία του. Τέτοια θέματα καθαρισμού (επαναφοράς) του συστήματος πραγματοποιούνται σε αυτό το βήμα Βασικές Λειτουργίες Χρονοδρομολόγησης Στην ενότητα αυτή περιγράφονται οι βασικές λειτουργίες χρονοδρομολόγησης στο Grid. Οι λειτουργίες αυτές μπορεί να είναι μέρος ενός πολύπλοκου μηχανισμού σε μια γενική αρχιτεκτονική χρονοδρομολόγησης [27]. Αναζήτηση (Search): Χρησιμοποιείται για συλλογή πληροφοριών σχετικά με τους πόρους. Σε ορισμένες περιπτώσεις δεν είναι τόσο αποδοτικό να συλλέγεται πληροφορία για κάθε πόρο αλλά είναι προτιμότερο αυτό να συμβαίνει μόνο για κάποιους υποψήφιους «καλούς» πόρους. Μπορούν να χρησιμοποιηθούν διάφορες στρατηγικές αναζήτησης (π.χ. best fit). Παρακολούθηση (Monitoring): Ένα μοντέλο χρονοδρομολόγησης πρέπει να παρακολουθεί κάποια χαρακτηριστικά, είτε για εσωτερική χρήση είτε για να παρέχει πληροφορία για το σύστημα στους χρήστες ή τους διαχειριστές. Πρόβλεψη (Forecasting): Κάποιες στρατηγικές χρονοδρομολόγησης μπορούν να ευνοηθούν από την ύπαρξη πληροφοριών για πόρους οι οποίες έχουν προκύψει κατόπιν πρόβλεψης. Ανάλογα με το μοντέλο πρόβλεψης μπορεί να υπάρχει και πληροφορία για την πιθανότητα σχετικά με την πρόβλεψη. Κράτηση (Reservation): Η χρονοδρομολόγηση απαιτητικών διεργασιών μπορεί να απαιτεί σχεδιασμό και κράτηση της διαθεσιμότητας ενός πόρου. Η κράτηση ενός πόρου μπορεί να πραγματοποιηθεί με πολλούς τρόπους όπως, αυτόματα, αν το υποστηρίζει ο τοπικός διαχειριστής πόρων ή κατ απαίτηση του χρήστη, αν το δηλώσει ρητά. Συμφωνία (Agreement): Σε περίπτωση που υπάρχουν κάποιες απαιτήσεις για ποιότητα υπηρεσίας (QoS), τα εμπλεκόμενα μέρη μπορούν να πραγματοποιήσουν μία συμφωνία. Διαπραγμάτευση (Negotiation): Για να επιτευχθεί μία συμφωνία θα πρέπει τα εμπλεκόμενα μέρη να ακολουθήσουν κάποιους κανόνες για ανταλλαγή προτάσεων ώστε να καταλήξουν σε μια τελική απόφαση. Η διαδικασία διαπραγμάτευσης θα πρέπει να είναι αυτοματοποιημένη ώστε να απαιτείται η ελάχιστη δυνατή αλληλεπίδραση των χρηστών. Στην εργασία [28] προτείνονται στρατηγικές διαπραγμάτευσης που βασίζονται σε αλγορίθμους μάθησης. Ασφάλεια (Security): Κάθε αλληλεπίδραση μεταξύ δύο μη έμπιστων οντοτήτων μπορεί να απαιτεί μηχανισμούς ασφαλείας. Αυτοί οι μηχανισμοί μπορεί να είναι η πιστοποίηση μιας οντότητας, η εξουσιοδότηση ενός χρήστη να υποβάλλει μια διεργασία και η ασφαλής διακίνηση των δεδομένων στο δίκτυο. 32
33 2.7.2 Σχεδιάζοντας ένα μοντέλο για χρονοδρομολόγηση στο Grid Η αποτελεσματικότητα ενός δρομολογητή υψηλής απόδοσης βασίζεται στο σχεδιασμό ενός αντίστοιχου μοντέλου δρομολογητή για υπολογιστικά Grids. Η δυσκολία δημιουργίας ενός τέτοιου μοντέλου έγκειται στο γεγονός ότι υπάρχει ανομοιογένεια στο λογισμικό και στο υλικό ενός τέτοιου συστήματος. Επίσης, ο ανταγωνισμός για τη διεκδίκηση των διαμοιραζόμενων πόρων δημιουργεί επιπρόσθετες δυσκολίες στην πρόβλεψη της απόδοσης αυτού του Grid συστήματος. Τα μοντέλα που αναπτύσσονται για την πρόβλεψη της απόδοσης ενός τέτοιου δυναμικού κατανεμημένου συστήματος θα πρέπει να ενσωματώνουν τα χαρακτηριστικά του Grid που επηρεάζουν την απόδοση των υποστηριζόμενων από το Grid εφαρμογών. Άρα αποτελεί πρόκληση η ανάπτυξη ενός Grid μοντέλου δρομολόγησης το οποίο θα είναι ικανό να κάνει τα ακόλουθα: Να προβλέπει την αναμενόμενη απόδοση για συγκεκριμένα στιγμιότυπα του χρόνου: Εφόσον η απόδοση ενός συστήματος και οι απαιτήσεις σε πόρους μπορεί να διαφέρουν σε κάθε χρονική στιγμή, θα πρέπει και οι προβλέψεις να μπορούν να μεταβάλλονται στις αντίστοιχες χρονικές στιγμές. Να χρησιμοποιεί όσες δυναμικές πληροφορίες διατίθενται για να αναπαριστά τις διακυμάνσεις στην απόδοση: Αφού τα υπολογιστικά Grids είναι δυναμικά, η απόδοση μπορεί να διαφέρει σημαντικά ανάλογα με το χρόνο. Τα μοντέλα που χρησιμοποιούνται για αποτίμηση απόδοσης θα μπορούσαν να αναπαραστήσουν αυτή τη διακύμανση με βάση το χρόνο χρησιμοποιώντας δυναμικές παραμέτρους. Επίσης, κάποιες ιδιότητες αυτών των παραμέτρων, όπως για παράδειγμα η ακρίβεια, είναι δυνατό να μας παρέχουν σημαντικές πληροφορίες οι οποίες μπορούν να χρησιμοποιηθούν για την ανάπτυξη gridaware αλγορίθμων. Να είναι προσαρμόσιμο σε αρκετά από τα πιθανά υπολογιστικά περιβάλλοντα: Όλες οι εφαρμογές είναι πιθανό να εκτελούνται σε περισσότερα από ένα περιβάλλοντα. Άρα τα μοντέλα αποτίμησης απόδοσης πρέπει να είναι σε θέση να ξεχωρίσουν τα διάφορα περιβάλλοντα εκτέλεσης και να προβλέψουν την απόδοση για αυτά τα περιβάλλοντα. Μία τεχνική για να αποδώσουμε προσαρμοστικότητα σε ένα μοντέλο είναι η δημιουργία μοντέλων των οποίων οι παράμετροι μπορούν εύκολα να αλλάξουν γνωρίζοντας τα ιδιαίτερα χαρακτηριστικά του κάθε περιβάλλοντος. 33
34 3. Βασικά Στοιχεία Θεωρίας Συστημάτων Ουρών 3.1 Ουρές Αναμονής Μια ουρά αναμονής ή ισοδύναμα ένα σύστημα εξυπηρέτησης είναι ένα μαθηματικό πρότυπο για τη μοντελοποίηση ενός πραγματικού συστήματος εισόδου εξόδου μονάδων (πελατών) στο οποίο υπεισέρχεται τυχαιότητα [3]. Το αντικείμενο της θεωρίας ουρών είναι η ποσοτική μελέτη συστημάτων εξυπηρέτησης. Τυπικά παραδείγματα ουρών αναμονής που παρουσιάζονται σε διάφορες εφαρμογές είναι τα ταμεία των τραπεζών και γενικότερα διαφόρων οργανισμών, τα τηλεφωνικά κέντρα εξυπηρέτησης πελατών (call centers), το τηλεφωνικό δίκτυο, το διαδίκτυο, τοπικά δίκτυα υπολογιστών (LAN), οι γραμμές παραγωγής μιας βιομηχανικής μονάδας καθώς και τα συγκοινωνιακά δίκτυα [4]. Η έννοια των ουρών είναι πολύτιμη στον αναλυτή της απόδοσης ενός συστήματος και αυτό γιατί οι ουρές παρέχουν τη δυνατότητα να εκτιμηθούν σπουδαίες ιδιότητες απόδοσης των υπολογιστικών συστημάτων (όπως για παράδειγμα ο χρόνος απόκρισης ή ο ρυθμός εξόδου). Οι ιδιότητες αυτές βασίζονται σε μετρήσιμα χαρακτηριστικά των στοιχείων της ουράς όπως είναι ο χρόνος για την εξυπηρέτηση μιας αίτησης. Από την άλλη πλευρά όμως, οι ουρές συνεπάγονται τυχαία (ή στοχαστική) συμπεριφορά κάτι που κάνει δύσκολες τις μεθόδους πρόβλεψης [1]. 3.2 Συστήματα Ουρών Το πιο απλό σύστημα ουρών είναι αυτό που έχει μία και μοναδική ουρά [1]. Γενικά, ένα σύστημα ουρών αποτελείται από έναν ή περισσότερους εξυπηρέτες (servers) και από μία ή περισσότερες ουρές αναμονής (queues) [10]. Αν ένας πελάτης φτάσει στο σύστημα και βρει όλους τους εξυπηρέτες απασχολημένους (busy), τότε θα εισέλθει στην ουρά που βρίσκεται μπροστά από έναν εξυπηρέτη και θα περιμένει έως ότου ελευθερωθεί ο συγκεκριμένος εξυπηρέτης. Ένα παράδειγμα συστήματος ουρών σε ένα υπολογιστικό σύστημα αποτελείται από χώρο προσωρινής αποθήκευσης (ουρά ή ουρές), επεξεργαστές (εξυπηρέτες) και εργασίες (πελάτες) που περιμένουν εξυπηρέτηση [2]. Για να αναλυθεί ένα σύστημα ουρών θα πρέπει να καθοριστούν τα επόμενα χαρακτηριστικά του συστήματος: Διαδικασία άφιξης: Έστω ότι οι εργασίες φτάνουν στο σύστημα σε χρόνους t 1, t 2,, t j. Τότε οι τυχαίες μεταβλητές τ j = t j t j-1 ονομάζονται μεταξύ των αφίξεων χρόνοι (interarrival times) και αποτελούν μια σειρά ανεξάρτητων και ομοιόμορφα κατανεμημένων (Independent and Identically Distributed, IID) τυχαίων μεταβλητών. Εάν Ε(τ) είναι η μέση τιμή των μεταξύ των αφίξεων χρόνων, τότε ο λόγος 1/Ε(τ) είναι ο μέσος ρυθμός άφιξης των εργασιών και συμβολίζεται με λ. Η διαδικασία άφιξης που χρησιμοποιείται περισσότερο είναι γνωστή ως αφίξεις Poisson (Poisson arrivals), όπου οι μεταξύ των αφίξεων χρόνοι είναι IID και είναι εκθετικά κατανεμημένοι. 34
35 Κατανομή του χρόνου εξυπηρέτησης: Ο χρόνος εξυπηρέτησης είναι ο χρόνος που απαιτείται για να εξυπηρετηθεί μία εργασία από τη CPU. Οι χρόνοι εξυπηρέτησης είναι τυχαίες μεταβλητές και IID. Εάν Ε(S) είναι η μέση τιμή των χρόνων εξυπηρέτησης, τότε ο λόγος 1/Ε(S) είναι ο μέσος ρυθμός εξυπηρέτησης και συμβολίζεται με μ. Η συχνότερα χρησιμοποιούμενη κατανομή είναι η εκθετική. Αριθμός εξυπηρετητών: Η CPU μπορεί να έχει έναν ή περισσότερους επεξεργαστές εξυπηρέτες και καθένας από αυτούς μπορεί να εξυπηρετήσει οποιαδήποτε εργασία. Στην περίπτωση που όλοι οι επεξεργαστές είναι ίδιοι, τότε θεωρούνται σαν τμήμα του ίδιου συστήματος της ουράς. Σε διαφορετική περίπτωση, συνήθως διαιρούνται σε ομάδες ίδιων επεξεργαστών με ξεχωριστές ουρές σε κάθε ομάδα και τότε κάθε ομάδα από αυτές είναι ένα σύστημα ουράς. Χωρητικότητα συστήματος: Ο μέγιστος αριθμός προγραμμάτων που μπορούν να περιμένουν στην ουρά ονομάζεται χωρητικότητα του συστήματος. Περιλαμβάνει και τις εργασίες που περιμένουν εξυπηρέτηση και εκείνες που δέχονται εξυπηρέτηση. Στα περισσότερα συστήματα η χωρητικότητα είναι πεπερασμένη αλλά αν ο αριθμός είναι μεγάλος τότε η ανάλυση είναι πιο εύκολη αν υποτεθεί απεριόριστη χωρητικότητα. Μέγεθος πληθυσμού: Το μέγεθος πληθυσμού είναι ο συνολικός αριθμός των πιθανών εργασιών που πρόκειται να έρθουν στο σύστημα. Στα περισσότερα πραγματικά συστήματα είναι πεπερασμένο αλλά μπορεί να θεωρηθεί ότι είναι απεριόριστο σε περίπτωση που ο αριθμός είναι μεγάλος. Πειθαρχία εξυπηρέτησης: Είναι η σειρά με την οποία εξυπηρετούνται οι εργασίες που φτάνουν στο σύστημα. Η πιο κοινή πειθαρχία είναι η FCFS (First Come First Served), όπου οι εργασίες εξυπηρετούνται με τη σειρά που φτάνουν. Άλλες πειθαρχίες είναι η LCFS (Last Come First Served), η LCFS-PR (Last Come First Served with Preempt and Resume) και η RR(Round Robin). Για να ορισθεί ένα σύστημα ουρών χρειάζεται να ορίσουμε αυτές τις έξι παραμέτρους. Για το λόγο αυτό, στη θεωρία ουρών χρησιμοποιείται συνήθως ο συμβολισμός του Kendall στη μορφή A/S/m/B/K/SD, όπου τα γράμματα αντιστοιχούν με τη σειρά στις έξι παραμέτρους που αναφέρθηκαν [1]. Μια ουρά με m εξυπηρέτες παριστάνεται στο ακόλουθο σχήμα: 35
36 Σχήμα 4: Μία ουρά με m εξυπηρέτες Στον παρακάτω πίνακα απεικονίζονται οι μεταβλητές κλειδιά που χρησιμοποιούνται στην ανάλυση των συστημάτων μιας ουράς και στη συνέχεια παρουσιάζονται οι μεταξύ τους σχέσεις. Σύμβολο Ερμηνεία τ Χρόνος μεταξύ δύο διαδοχικών αφίξεων λ Μέσος ρυθμός άφιξης s Χρόνος εξυπηρέτησης ανά εργασία μ Μέσος ρυθμός εξυπηρέτησης ανά εξυπηρέτη. Για m εξυπηρέτες ο συνολικός χρόνος εξυπηρέτησης είναι m*μ n Συνολικός αριθμός εργασιών στο σύστημα ή μήκος ουράς n q Αριθμός εργασιών που περιμένουν στην ουρά n s Αριθμός εργασιών που δέχονται εξυπηρέτηση r Χρόνος απόκρισης ή χρόνος στο σύστημα w Χρόνος αναμονής από τη στιγμή άφιξης μέχρι τη στιγμή που ξεκινά η εξυπηρέτηση. Πίνακας 1: Ερμηνεία μεταβλητών Συνθήκη σταθερότητας: Ένα σύστημα λέγεται ασταθές όταν ο αριθμός των προγραμμάτων στο σύστημα αυξάνεται συνεχώς και γίνεται άπειρος. Για να υπάρχει σταθερότητα στο σύστημα θα πρέπει ο μέσος ρυθμός άφιξης να είναι μικρότερος από το συνολικό μέσο ρυθμό εξυπηρέτησης: λ < μ * m Στα συστήματα πεπερασμένου πληθυσμού, το μήκος της ουράς είναι πάντα πεπερασμένο και συνεπώς το σύστημα δεν μπορεί να γίνει ποτέ ασταθές. 36
37 Αριθμός εργασιών στο σύστημα: Είναι πάντα ίσος με το άθροισμα του αριθμού των εργασιών που περιμένουν στην ουρά και του αριθμού των εργασιών που εξυπηρετούνται: n = n q + n s Η σχέση αυτή ισχύει και για τις μέσες τιμές, δηλαδή ο μέσος αριθμός των εργασιών στο σύστημα ισούται με το άθροισμα του μέσου αριθμού στην ουρά και του μέσου αριθμού σε εξυπηρέτηση. Χρόνος απόκρισης: Ο χρόνος κατά τον οποίο μια εργασία βρίσκεται σε ένα σύστημα ουρών ισούται με το άθροισμα του χρόνου που περιμένει στην ουρά και το χρόνο που δέχεται εξυπηρέτηση: r = w + s Η σχέση αυτή ισχύει και για τις μέσες τιμές, δηλαδή ο μέσος χρόνος απόκρισης ισούται με το άθροισμα του μέσου χρόνου αναμονής και του μέσου χρόνου εξυπηρέτησης. 3.3 Κανόνας Little Ο κανόνας του Little είναι ένα από τα πιο βασικά θεωρήματα της θεωρίας ουρών [1]. Όταν ένα σύστημα ουράς βρίσκεται σε κατάσταση ισορροπίας, ο κανόνας του Little ορίζει ότι ο μέσος αριθμός διεργασιών στο σύστημα L ισούται με το μέσο ρυθμό άφιξης λ επί το μέσο χρόνο απόκρισης του συστήματος r: L = λ* r Η σχέση αυτή ισχύει σε όλα τα συστήματα ή μέρη των συστημάτων όπου ο αριθμός των εργασιών που εισέρχονται στο σύστημα είναι ίσος με τον αριθμό των εργασιών που τελειώνουν την εξυπηρέτηση [1]. Επίσης, με βάση τον κανόνα του Little μπορούμε να ορίσουμε ότι ο μέσος αριθμός διεργασιών στην ουρά Q ισούται με τον μέσο ρυθμό άφιξης λ επί το μέσο χρόνο αναμονής στην ουρά w, δηλαδή Q = λ*w [5]. Ο κανόνας αυτός αποδείχθηκε από τον Little το 1961 και βασίζεται στην αντιμετώπιση του συστήματος ως μαύρου κουτιού. Αυτό σημαίνει ότι δε δημιουργούνται νέες εργασίες στο σύστημα αλλά ούτε χάνονται από αυτό. Ακόμη και σε συστήματα με ουρά πεπερασμένης χωρητικότητας, όπου κάποιες εργασίες χάνονται όταν δεν βρίσκουν χώρο στην ουρά, ο κανόνας του Little ισχύει. Σε αυτήν την περίπτωση εφαρμόζεται στο μέρος του συστήματος που αποτελείται από τις θέσεις αναμονής και εξυπηρέτησης καθώς από τη στιγμή που μια εργασία βρίσκει μια θέση στην ουρά, δε χάνεται. Θα πρέπει όμως να 37
38 χρησιμοποιηθεί ο αποτελεσματικός ρυθμός άφιξης των εργασιών που εισέρχονται στο σύστημα, δηλαδή δε θα πρέπει να περιλαμβάνονται οι εργασίες που χάνονται πριν βρουν μια θέση αναμονής. Ο κανόνας του Little πολλές φορές χρησιμοποιείται για επαλήθευση των αποτελεσμάτων που προκύπτουν από την προσομοίωση ενός συστήματος [1][2]. 3.4 Νόμοι Λειτουργικότητας Οι νόμοι λειτουργικότητας (operational laws) αποτελούν απλές μαθηματικές σχέσεις οι οποίες επιλύονται εύκολα και μας παρέχουν μετρικές απόδοσης χωρίς να είναι απαραίτητο να γνωρίζουμε την κατανομή των μεταξύ των αφίξεων χρόνων και των χρόνων εξυπηρέτησης [6]. Η λέξη λειτουργικός σημαίνει ότι μπορεί να μετρηθεί άμεσα. Έτσι, οι υποθέσεις που μπορούν να δοκιμαστούν λειτουργικά είναι εκείνες που μπορούν να επαληθευτούν με μετρήσεις. Οι ποσότητες που μπορούν να μετρηθούν άμεσα κατά τη διάρκεια ενός πεπερασμένου διαστήματος παρατηρήσεων ονομάζονται ποσότητες λειτουργικότητας (operational quantities) και είναι οι παρακάτω [1][6]: Σύμβολο T Α C Β Ερμηνεία Συνολικός χρόνος προσομοίωσης Αριθμός αφίξεων Αριθμός αναχωρήσεων Συνολικός χρόνος απασχόλησης των υπολογιστικών μονάδων Πίνακας 2: Ποσότητες λειτουργικότητας Με τη χρήση αυτών μπορούν να προκύψουν οι παρακάτω σχέσεις και μετρικές απόδοσης του συστήματος: Ρυθμός άφιξης (Arrival rate) λ = Α/Τ που εκφράζει τον αριθμό των εργασιών που φτάνουν στο σύστημα στη μονάδα του χρόνου. Ρυθμοαπόδοση (Throughput) Χ = C/T που εκφράζει τον αριθμό των εργασιών που ολοκληρώνονται στη μονάδα του χρόνου. Χρησιμοποίηση (Utilization) U = B/T που εκφράζει το ποσοστό του χρόνου κατά το οποίο οι πόροι του συστήματος είναι απασχολημένοι. Μέσος χρόνος εξυπηρέτησης (Mean service time) S = B/C που εκφράζει το μέσο χρόνο που απαιτείται για την εξυπηρέτηση μίας αίτησης. 38
39 Β ΜΕΡΟΣ 39
40 Εισαγωγή Μετά τη σύντομη αναφορά στην προσομοίωση διακεκριμένων γεγονότων, στα συστήματα Grid και στις μετρικές απόδοσης των συστημάτων ουρών που πραγματοποιήθηκε στο πρώτο μέρος της εργασίας, ακολουθούν η περιγραφή του υπό μελέτη συστήματος και η παρουσίαση των αποτελεσμάτων που προέκυψαν από την προσομοίωσή του. Δύο πράγματα που πρέπει να σημειωθούν στο σημείο αυτό είναι ότι το υπό μελέτη σύστημα διαθέτει στοιχεία συστήματος Grid και ότι χρησιμοποιείται η προσομοίωση διακεκριμένων γεγονότων για την αποτίμηση της απόδοσής του. Αρχικά περιγράφεται το μοντέλο του συστήματος και ο τρόπος υλοποίησής του και ακολούθως παρουσιάζονται τα αποτελέσματα και εξάγονται συμπεράσματα. 4. Μοντέλο Συστήματος Το σύστημα το οποίο προσομοιώθηκε έχει αρχιτεκτονική Grid. Αποτελείται από δύο συστοιχίες (clusters) καθεμιά από τις οποίες έχει στη διάθεσή της 32 επεξεργαστές που συνδέονται με δίκτυο ευρείας περιοχής (Wide Area Network, WAN). Ένα ρεύμα άφιξης διεργασιών φτάνει στο σύστημα και αποστέλλεται απευθείας σε κάποιο από τα 2 clusters προκειμένου να επεξεργαστεί. Θεωρούμε ότι στο σύστημα δεν υπάρχει Grid Scheduler ώστε να αποθηκεύονται προσωρινά οι διεργασίες. Έτσι, κάθε φορά που συμβαίνει άφιξη διεργασιών στο σύστημα, οι διεργασίες δεν περιμένουν σε κάποια ουρά, μιας και δεν υπάρχει διαθέσιμος αποθηκευτικός χώρος, αλλά δρομολογούνται απευθείας σε ένα από τα clusters για να εκτελεστούν. Όταν εισέλθουν στο επιλεχθέν cluster αποστέλλονται απευθείας στο υποσύστημα όπου θα γίνει η επεξεργασία τους, καθώς θεωρούμε ότι δεν υπάρχει Local Scheduler. Σημειώνεται ότι με τον όρο υποσύστημα αναφερόμαστε σε κάθε ουρά στην οποία αντιστοιχίζεται ένας αριθμός επεξεργαστών. Όλες οι μονάδες (επεξεργαστές) του site (cluster) συνδέονται μέσω ενός τοπικού δικτύου (Local Area Network, LAN). Οι δύο αυτές συστοιχίες μπορεί να διαθέτουν τον ίδιο αριθμό επεξεργαστών συνολικά, όμως δεν είναι πανομοιότυπες. Η μία αποτελείται από 8 ουρές σε καθεμιά από τις οποίες κατανέμονται 4 επεξεργαστές (8 υποσυστήματα) ενώ η άλλη αποτελείται από 16 ουρές σε καθεμιά από τις οποίες κατανέμονται 2 επεξεργαστές (16 υποσυστήματα). Όλοι οι επεξεργαστές και στα δύο sites είναι όμοιοι, δηλαδή έχουν τις ίδιες δυνατότητες επεξεργασίας στον ίδιο χρόνο. Τέλος, υπάρχουν τρεις αλγόριθμοι δρομολόγησης οι οποίοι αναλαμβάνουν τη δρομολόγηση των διεργασιών στα clusters αμέσως μετά την άφιξή τους στο σύστημα, καθώς και τη δρομολόγηση των διεργασιών στα υποσυστήματα του cluster αμέσως μετά την άφιξή τους σε αυτό. Οι αλγόριθμοι αυτοί θα αναλυθούν λεπτομερώς στη συνέχεια καθώς η σημασία τους είναι καθοριστική όσον αφορά την απόδοση κάθε cluster. Στο ακόλουθο σχήμα περιγράφεται η αρχιτεκτονική του υπό μελέτη συστήματος. 40
41 Υποσύστημα Τοπικές αφίξεις με ρυθμό λ 1 Αφίξεις στο Grid Site 1 λ Αναχωρήσεις Τοπικές αφίξεις με ρυθμό λ 2 Site 2 Σχήμα 5: Αρχιτεκτονική του υπό μελέτη συστήματος 41
Κεφάλαιο 5: Εισαγωγή στην Προσομοίωση
Κεφάλαιο 5: Εισαγωγή στην Προσομοίωση Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Γιάννης Γαροφαλάκης Αν. Καθηγητής Προσομοίωση Τεχνικές χρήσης υπολογιστών για τη «μίμηση» των λειτουργιών διαφόρων ειδών
Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 5: Εισαγωγή στην Προσομοίωση
Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 5: Εισαγωγή στην Προσομοίωση Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής Σκοποί ενότητας Κατά τη διάρκεια της ζωής ενός συστήματος,
ΠΡΟΣΟΜΟΙΩΣΗ. Προσομοίωση είναι η μίμηση της λειτουργίας ενός πραγματικού συστήματος και η παρακολούθηση της εξέλιξης του μέσα στο χρόνο.
ΠΡΟΣΟΜΟΙΩΣΗ Προσομοίωση είναι η μίμηση της λειτουργίας ενός πραγματικού συστήματος και η παρακολούθηση της εξέλιξης του μέσα στο χρόνο. δημιουργία μοντέλου προσομοίωσης ( - χρήση μαθηματικών, λογικών και
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΣΟΜΟΙΩΣΗ ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗΣ ΔΙΕΡΓΑΣΙΩΝ ΣΤΟ GRID ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ της ΓΚΟΥΤΙΟΥΔΗ ΚΥΡΙΑΚΗΣ Προπτυχιακή Φοιτήτρια Τμήματος
ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών
44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.
Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών
Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)
Κεφάλαιο 4: Λογισμικό Συστήματος
Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος
Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία
Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες
ΚΕΦΑΛΑΙΟ 2ο ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ
ΚΕΦΑΛΑΙΟ 2ο ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ 2.1 Εισαγωγή Η μέθοδος που θα χρησιμοποιηθεί για να προσομοιωθεί ένα σύστημα έχει άμεση σχέση με το μοντέλο που δημιουργήθηκε για το σύστημα. Αυτό ισχύει και
Κεφάλαιο 3. Διδακτικοί Στόχοι
Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Μοντελοποίηση και προσομοίωση πολιτικών χρονοδρομολόγησης παράλληλων εργασιών σε πολλαπλά sites στο Grid Modeling and simulation
Εισαγωγή στη Σχεδίαση Λογισμικού
Εισαγωγή στη Σχεδίαση Λογισμικού περιεχόμενα παρουσίασης Τι είναι η σχεδίαση λογισμικού Έννοιες σχεδίασης Δραστηριότητες σχεδίασης Σχεδίαση και υποδείγματα ανάπτυξης λογισμικού σχεδίαση Η σχεδίαση του
Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων Ι Σύνολο- Περιεχόμενο Μαθήματος
Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων Ι Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Διπλωματικές
Διαχείριση Πολιτισμικών Δεδομένων
Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 1 Εισαγωγή στις Βάσεις Δεδομένων Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Τι είναι οι Βάσεις
ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη
Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α
ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ, ΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΚΤΥΩΝ Εργ. Τεχνολογίας Λογισμικού & Υπηρεσιών S 2 E Lab Π Τ Υ Χ Ι
ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή
ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή Οι σηµερινές δραστηριότητες των επιχειρήσεων δηµιουργούν την ανάγκη για όσο το δυνατό µεγαλύτερη υποστήριξη από τα πληροφοριακά τους
Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής
Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Γιάννης Γαροφαλάκης Αν. Καθηγητής ιατύπωση του προβλήματος (1) Τα συστήματα αναμονής (queueing systems), βρίσκονται
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 10 ΟΥ ΚΕΦΑΛΑΙΟΥ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Πως ορίζεται ο τμηματικός προγραμματισμός; Τμηματικός προγραμματισμός
Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1
Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα
ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
ΚΕΦΑΛΑΙΟ 10 Όπως είδαμε και σε προηγούμενο κεφάλαιο μια από τις βασικότερες τεχνικές στον Δομημένο Προγραμματισμό είναι ο Τμηματικός Προγραμματισμός. Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης
Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση
Διαδικασίες παραγωγής λογισμικού Περιεχόμενα Παρουσίαση μοντέλων διεργασίας ανάπτυξης λογισμικού Περιγραφή τριών γενικών μοντέλων διεργασίας ανάπτυξης λογισμικού Γενική περιγραφή των διαδικασιών που περιλαμβάνονται
1 Συστήματα Αυτοματισμού Βιβλιοθηκών
1 Συστήματα Αυτοματισμού Βιβλιοθηκών Τα Συστήματα Αυτοματισμού Βιβλιοθηκών χρησιμοποιούνται για τη διαχείριση καταχωρήσεων βιβλιοθηκών. Τα περιεχόμενα των βιβλιοθηκών αυτών είναι έντυπα έγγραφα, όπως βιβλία
Προσομοίωση ΚΕΦΑΛΑΙΟ 7
ΚΕΦΑΛΑΙΟ 7 Προσομοίωση 7.1 Συστήματα και πρότυπα συστημάτων 7.2 Η διαδικασία της προσομοίωσης 7.3 Ανάπτυξη προτύπων διακριτών γεγονότων 7.4 Τυχαίοι αριθμοί 7.5 Δείγματα από τυχαίες μεταβλητές 7.6 Προσομοίωση
Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης
Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης 7.1 Ορισμός Στόχοι Αλγόριθμο χρονοδρομολόγησης (scheduling algorithm) ονομάζουμε την μεθοδολογία την οποία χρησιμοποιεί ο κάθε χρονοδρομολογητής (βραχυχρόνιος, μεσοχρόνιος
Εφαρμογές Προσομοίωσης
Εφαρμογές Προσομοίωσης H προσομοίωση (simulation) ως τεχνική μίμησης της συμπεριφοράς ενός συστήματος από ένα άλλο σύστημα, καταλαμβάνει περίοπτη θέση στα πλαίσια των εκπαιδευτικών εφαρμογών των ΤΠΕ. Μπορούμε
3. Προσομοίωση ενός Συστήματος Αναμονής.
3. Προσομοίωση ενός Συστήματος Αναμονής. 3.1. Διατύπωση του Προβλήματος. Τα συστήματα αναμονής (queueing systems), βρίσκονται πίσω από τα περισσότερα μοντέλα μελέτης της απόδοσης υπολογιστικών συστημάτων,
Σχεδιασμός Επεξεργασίας και Τηλεπεξεργασίας
Ενότητα 9 Σχεδιασμός Επεξεργασίας και Τηλεπεξεργασίας Πληροφοριακά Συστήματα Διοίκησης ΙI Ι Διδάσκων: Νίκος Καρακαπιλίδης 9-1 Στόχοι & αντικείμενο ενότητας Σχεδιασμός επεξεργασίας Επεξεργασία κατά δεσμίδες
ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΘΕΩΡΙΑ ΚΑΙ ΕΦΑΡΜΟΓΗ ΤΟΥ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΗ ΛΗΨΗ ΑΠΟΦΑΣΕΩΝ (1)
ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΘΕΩΡΙΑ ΚΑΙ ΕΦΑΡΜΟΓΗ ΤΟΥ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΗ ΛΗΨΗ ΑΠΟΦΑΣΕΩΝ (1) 1 Προέλευση και ιστορία της Επιχειρησιακής Έρευνας Αλλαγές στις επιχειρήσεις Τέλος του 19ου αιώνα: βιομηχανική
Προσομοίωση Συστημάτων
Προσομοίωση Συστημάτων Προσομοίωση και μοντέλα συστημάτων Άγγελος Ρούσκας Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς Γενικός ορισμός συστήματος Ένα σύνολο στοιχείων/οντοτήτων που αλληλεπιδρούν μεταξύ
6. Διαχείριση Έργου. Έκδοση των φοιτητών
6. Διαχείριση Έργου Έκδοση των φοιτητών Εισαγωγή 1. Η διαδικασία της Διαχείρισης Έργου 2. Διαχείριση κινδύνων Επανεξέταση Ερωτήσεις Αυτοαξιολόγησης Διαχείριση του έργου είναι να βάζεις σαφείς στόχους,
Αρχιτεκτονική Λογισμικού
Αρχιτεκτονική Λογισμικού περιεχόμενα παρουσίασης Τι είναι η αρχιτεκτονική λογισμικού Αρχιτεκτονική και απαιτήσεις Σενάρια ποιότητας Βήματα αρχιτεκτονικής σχεδίασης Αρχιτεκτονικά πρότυπα Διαστρωματωμένη
Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο
Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρωτόκολλα και Αρχιτεκτονική Δικτύου Για να ανταλλάξουν δεδομένα δύο σταθμοί, εκτός από την ύπαρξη διαδρομής μεταξύ
Σχεδιασµός βασισµένος σε συνιστώσες
Σχεδιασµός βασισµένος σε συνιστώσες 1 Ενδεικτικά περιεχόµενα του κεφαλαίου Ποια είναι τα "άτοµα", από τα οποία κατασκευάζονται οι υπηρεσίες; Πώς οργανώνουµε τις συνιστώσες σε ένα αρµονικό σύνολο; Τι είναι
Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου.
ΚΕΦΑΛΑΙΟ 13 Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου. Οι υπηρεσίες νέφους παρέχονται με τέτοιο τρόπο ώστε ο τελικός χρήστης δεν μπορεί να διακρίνει τεχνικές λεπτομέρειες. Η χρηστικότητα, η διαθεσιμότητα
Σχεδιαστικά Προγράμματα Επίπλου
Σχεδιαστικά Προγράμματα Επίπλου Καθηγήτρια ΦΕΡΦΥΡΗ ΣΩΤΗΡΙΑ Τμήμα ΣΧΕΔΙΑΣΜΟΥ & ΤΕΧΝΟΛΟΓΙΑΣ ΞΥΛΟΥ - ΕΠΙΠΛΟΥ Σχεδιαστικά Προγράμματα Επίπλου Η σχεδίαση με τον παραδοσιακό τρόπο απαιτεί αυξημένο χρόνο, ενώ
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Κάθε υποπρόγραμμα έχει μόνο μία είσοδο και μία έξοδο. Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα.
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης και ανάπτυξης των προγραμμάτων ως ένα σύνολο από απλούστερα τμήματα προγραμμάτων. Όταν ένα τμήμα προγράμματος επιτελεί ένα αυτόνομο
ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ
ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΙΣΧΥΕΙ ΚΑΤΑ ΤΟ ΜΕΡΟΣ ΠΟΥ ΑΦΟΡΑ ΤΟ ΛΥΚΕΙΟ ΓΙΑ ΤΗΝ ΥΠΟΧΡΕΩΤΙΚΗ ΕΚΠΑΙΔΕΥΣΗ ΙΣΧΥΟΥΝ ΤΟ ΔΕΠΠΣ
Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)
Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 8: Σχεδίαση Συστήματος Σχεδίαση Συστήματος 2 Διεργασία μετατροπής του προβλήματος σε λύση. Από το Τί στο Πώς. Σχέδιο: Λεπτομερής περιγραφή της λύσης. Λύση:
ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ
ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Στόχος Θεματικής Ενότητας Οι μαθητές να περιγράφουν τους βασικούς τομείς της Επιστήμης των Υπολογιστών και να μπορούν
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Επ. Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη
Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι
Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού
Πληροφορική 2. Τεχνολογία Λογισμικού
Πληροφορική 2 Τεχνολογία Λογισμικού 1 2 Κρίση Λογισμικού (1968) Στην δεκαετία του 1970 παρατηρήθηκαν μαζικά: Μεγάλες καθυστερήσεις στην ολοκλήρωση κατασκευής λογισμικών Μεγαλύτερα κόστη ανάπτυξης λογισμικού
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή Βασίλης Μάγκλαρης maglaris@netmode.ntua.gr Χρύσα Παπαγιάννη chrisap@noc.ntua.gr 24/2/2016 Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης
Μάθημα 7 ο Αλγόριθμοι Χρονοδρομολόγησης Σκοπός του μαθήματος Στην ενότητα αυτή θα εξηγήσουμε το ρόλο και την αξιολόγηση των αλγορίθμων χρονοδρομολόγησης, και θα παρουσιάσουμε τους κυριότερους. Θα μάθουμε:
Σχεδιασμός Οικολογικού Διαμεσολαβητή για την εποπτεία και διαχείριση δικτύου διανομής ηλεκτρικής ενέργειας
Σχεδιασμός Οικολογικού Διαμεσολαβητή για την εποπτεία και διαχείριση δικτύου διανομής ηλεκτρικής ενέργειας Σωτηρία Δριβάλου Εθνικό Μετσόβιο Πολυτεχνείο Μονάδα Εργονομίας Συστήματα διανομής ηλεκτρικής ενέργειας
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΜΕΡΛΙΑΟΥΝΤΑΣ ΣΤΕΦΑΝΟΣ, ΠΕ19 ΚΕΦΑΛΑΙΟ 3 Αλγόριθμοι 3. Αλγόριθμοι 2 3. Αλγόριθμοι 3.1 Η έννοια του αλγορίθμου 3.2 Χαρακτηριστικά αλγορίθμου 3.3 Ανάλυση αλγορίθμων
Βασικές έννοιες. Κατανεμημένα Συστήματα 1
Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα
ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων
ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο
ΠΑΡΑΔΕΙΓΜΑ ΣΤΟ BIZAGI ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ & ΑΥΤΟΔΙΟΙΚΗΣΗΣ
Ανάλυση - Προσομοίωση ΠΑΡΑΔΕΙΓΜΑ ΣΤΟ BIZAGI ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ & ΑΥΤΟΔΙΟΙΚΗΣΗΣ 1 Προσομοίωση Η προσομοίωση είναι μέθοδος μελέτης ενός συστήματος και εξοικείωσης με τα χαρακτηριστικά του με
Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής
Εισαγωγή στις Βάσεις Δεδομένων Εισαγωγή στις Βάσεις Δεδομένων Ορισμός Βάσης Δεδομένων Σύστημα Διαχείρισης Βάσης Δεδομένων ΣΔΒΔ (DBMS) Χαρακτηριστικά προσέγγισης συστημάτων αρχειοθέτησης Χαρακτηριστικά
Πλεονεκτήματα και μειονεκτήματα της προσομοίωσης
Πλεονεκτήματα και μειονεκτήματα της προσομοίωσης Πλεονεκτήματα 1. Σε περιπτώσεις που είναι αδύνατον να αναπαρασταθούν τα συστήματα με μαθηματικά μοντέλα είναι αναγκαστική καταφυγή η χρήση προσομοίωσης.
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή (1/2) Βασίλης Μάγκλαρης maglaris@netmode.ntua.gr 1/3/2017 ΠΕΡΙΕΧΟΜΕΝΑ (1/3) http://www.netmode.ntua.gr/main/index.php?option=com_content&task=view& id=130&itemid=48
ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ.
ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΥΣ Θέμα: ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ. Εισηγητής: Δ. Ν. Καλλέργης, MSc. Φοιτήτρια: Κοντζοπούλου Παναγιώτα Εισαγωγή
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Ηλεκτρονικό Εμπόριο Αναπτύσσοντας ένα Ηλεκτρονικό Κατάστημα Ηλεκτρονικό Εμπόριο Λειτουργικότητα Εφαρμογής Κατάλογος προϊόντων Καλάθι
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων Άδειες Χρήσης Το παρόν εκπαιδευτικό
ΠΕΡΙΛΗΨΗ Δ.Δ ΔΗΜΗΣΡΑΚΟΠΟΤΛΟ
ΠΕΡΙΛΗΨΗ Δ.Δ ΔΗΜΗΣΡΑΚΟΠΟΤΛΟ Μετά το άλλοτε ταχύ και άλλοτε χρονοβόρο πέρασμα από τα τηλεπικοινωνιακά συστήματα των τριών πρώτων γενεών, η αλματώδης εξέλιξη στις τηλεπικοινωνίες αντικατοπτρίζεται σήμερα
κεφάλαιο Βασικές Έννοιες Επιστήμη των Υπολογιστών
κεφάλαιο 1 Βασικές Έννοιες Επιστήμη 9 1Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ Στόχοι Στόχος του κεφαλαίου είναι οι μαθητές: να γνωρίσουν βασικές έννοιες και τομείς της Επιστήμης. Λέξεις κλειδιά Επιστήμη
Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση
Εργαστηριακή Άσκηση Οι Αλγόριθμοι Χρονοπρογραμματισμού First Come First Serve (FCFS), Shortest Job First (SJF), Round Robin (RR), Priority Weighted (PRI) Επιμέλεια: Βασίλης Τσακανίκας Περιεχόμενα Αλγόριθμοι
Υπολογιστική Νέφους Cloud computing
Υπολογιστική Νέφους Cloud computing Χρ. Ηλιούδης Clouds Cloud computing??? Διείσδυση του Cloud Ορισμός - χαρακτηριστικά Ο όρος cloud έχει τις ρίζες στου στην αρχή του internet όπου συνήθιζαν να το αναπαριστούν
Διοίκηση Παραγωγής και Υπηρεσιών
Διοίκηση Παραγωγής και Υπηρεσιών Εισαγωγή -3 Γιώργος Ιωάννου, Ph.D. Αναπληρωτής Καθηγητής Σύνοψη διάλεξης Σχεδιασμός διαδικασιών ορισμός Συστημική προσέγγιση Μεθοδολογίες σχεδιασμού διαδικασιών Διαγράμματα
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ
ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ Κ Υ Κ Λ Ο Υ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Κ Α Ι Υ Π Η Ρ Ε Σ Ι Ω Ν Τ Ε Χ Ν Ο Λ Ο Γ Ι Κ Η
Συστήματα Αναμονής. Ενότητα 1: Εισαγωγή. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ
Συστήματα Αναμονής Ενότητα 1: Εισαγωγή Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως
ΛΟΓΙΣΜΙΚΟ (software)
ΛΟΓΙΣΜΙΚΟ (software) Το Λογισµικό του Ηλεκτρονικού Υπολογιστή Περιεχόµενα Ορισµός Λογισµικού Κατηγορίες Λογισµικό Συστήµατος Λογισµικό Εφαρµογών Το λογισµικό είναι: Το λογισµικό Το σύνολο των προγραµµάτων
Προβλήματα, αλγόριθμοι, ψευδοκώδικας
Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ GRID
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ GRID ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Επιµέλεια - Συγγραφή ΚΟΥΣΙΟΣ ΑΝΤΡΕΑΣ - 1179 Επιβλέπουσα Καθηγήτρια
Εργαστήριο Διοίκησης Παραγωγής & Έργων. Εισαγωγή στην προσομοίωση διεργασιών χρησιμοποιώντας το λογισμικό Extend
Εργαστήριο Διοίκησης Παραγωγής & Έργων Εισαγωγή στην προσομοίωση διεργασιών χρησιμοποιώντας το λογισμικό Extend ΕΠΙΣΚΟΠΗΣΗ ΤΟΥ EXTEND Το Extend είναι ένα λογισμικό εικονικής προσομοίωσης που μπορεί να
METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα
METROPOLIS Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα Ενσωματωμένα συστήματα Ορίζονται ως ηλεκτρονικά συστήματα τα οποία χρησιμοποιούν υπολογιστές και ηλεκτρονικά υποσυστήματα για να εκτελέσουν
Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)
Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Εισαγωγή H κεντρική μονάδα επεξεργασίας (ΚΜΕ) και η κύρια μνήμη αποτελούν τα βασικά δομικά στοιχεία ενός υπολογιστικού συστήματος. Η πρώτη εκτελεί εντολές χειρισμού δεδομένων
Σχεδιασμός διαδικασιών. Source: Joe Schwarz, www.joyrides.com
Σχεδιασμός διαδικασιών Source: Joe Schwarz, www.joyrides.com Σχεδιασμός διαδικασιών Σχεδιασμός διαδικασιών Σχεδιασμός δικτύου εφοδιασμού Στρατηγική παραγωγής Διάταξη και ροή Σχεδιασμός Διοίκηση παραγωγής
Βασικές έννοιες. Κατανεμημένα Συστήματα 1
Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα
Κεφάλαιο 1 : Εισαγωγή
Κεφάλαιο 1 : Εισαγωγή Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Γιάννης Γαροφαλάκης Καθηγητής Ορισμός πληροφοριακού συστήματος Ένα πληροφοριακό σύστημα είναι «οποιαδήποτε συλλογή τμημάτων υλικού ή λογισμικού»
Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών
ΕΠΛ362: Τεχνολογία Λογισμικού ΙΙ (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Software Engineering, 9/E, Ian Sommerville, 2011) Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών Οι διαφάνειες αυτές
ΑΕΠΠ Ερωτήσεις θεωρίας
ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος
Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος
Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Εισαγωγή. Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής
Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Εισαγωγή Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής Περιεχόμενα ενότητας Ορισμός πληροφοριακού συστήματος Κύρια κριτήρια
Κατανεμημένα Συστήματα
Κατανεμημένα Συστήματα Σημειώσεις εργαστηρίου Lab#7 - Διεργασίες, Nήματα, Πολυνημάτωση στη Python Νεβράντζας Βάιος-Γερμανός Λάρισα, Φεβρουάριος 2013 Lab#7 - Διεργασιές, Νη ματα, Πολυνημα τωση στη Python,
Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ & ΕΠΙΧΕΙΡΗΣΕΩΝ
Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ & ΕΠΙΧΕΙΡΗΣΕΩΝ Η Έρευνα Μάρκετινγκ ως εργαλείο ανάπτυξης νέων προϊόντων ΕΙΣΗΓΗΤΗΣ: Δρ. Ιωάννης Σ. Τουρτούρας Μηχανικός Παραγωγής & Διοίκησης Δ.Π.Θ.
Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο
Αρχές Δικτύων Επικοινωνιών Επικοινωνίες Δεδομένων Μάθημα 4 ο Τα επικοινωνιακά δίκτυα και οι ανάγκες που εξυπηρετούν Για την επικοινωνία δύο συσκευών απαιτείται να υπάρχει μεταξύ τους σύνδεση από σημείο
Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ.
Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής Περιεχόµενα Κατηγορίες Π.Σ. ιαχείρισης Πράξεων ιοίκησης Υποστήριξης Αποφάσεων Έµπειρα Συστήµατα Ατόµων και Οµάδων Ο κύκλος ζωής Π.Σ. Ορισµός Φάσεις Χρήστες
Προγραμματισμός ΙI (Θ)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017
Εργαλεία ανάπτυξης εφαρμογών internet Ι
IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής 4 φάσεις διαδικτυακών εφαρμογών 1.Εφαρμογές στατικής πληροφόρησης
Information Technology for Business
Information Technology for Business Lecturer: N. Kyritsis, MBA, Ph.D. Candidate e-mail: kyritsis@ist.edu.gr Computer System Hardware Υποδομή του Information Technology Υλικό Υπολογιστών (Hardware) Λογισμικό
Το λειτουργικό σύστημα. Προγραμματισμός II 1
Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί
Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού
ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Διπλωματική Εργασία με θέμα: Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού Καραγιάννης Ιωάννης Α.Μ.
Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC
Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC Αρχιτεκτονική Πλατφόρμας Μπορεί να μοντελοποιηθεί σαν ένα σύνολο από διασυνδεδεμένα κομμάτια: 1. Στοιχεία επεξεργασίας (processing
Προγραμματισμός Ι (HY120)
Προγραμματισμός Ι (HY20) # μνήμη & μεταβλητές πρόγραμμα & εκτέλεση Ψηφιακά δεδομένα, μνήμη, μεταβλητές 2 Δυαδικός κόσμος Οι υπολογιστές είναι δυαδικές μηχανές Όλη η πληροφορία (δεδομένα και κώδικας) κωδικοποιείται
Εισαγωγή στην Πληροφορική
Εισαγωγή στην Πληροφορική Βάσεις Δεδομένων ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Τι είναι οι Βάσεις Δεδομένων; Σύστημα για αποθήκευση, μετάδοση
Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα
Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 1: Βασικές Έννοιες Λειτουργικών Συστημάτων
Epsilon Net PYLON Platform
Epsilon Net PYLON Platform Οδηγίες Εγκατάστασης Top 1 / 31 Περιεχόμενα 1 ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ... 3 2 ΕΓΚΑΤΑΣΤΑΣΗ ΕΦΑΡΜΟΓΗΣ... 5 3 ΕΓΚΑΤΑΣΤΑΣΗ DEMO... 7 4 ΕΓΚΑΤΑΣΤΑΣΗ ΠΡΟΤΥΠΗΣ ΒΑΣΗΣ... 8 4.1 Φόρτωση πρότυπης
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Προσομοίωση Συστημάτων
Προσομοίωση Συστημάτων Μεθοδολογίες προσομοίωσης Άγγελος Ρούσκας Μηχανισμός διαχείρισης χρόνου και μεθοδολογίες προσομοίωσης Έχουμε αναφερθεί σε δύο μηχανισμούς διαχείρισης χρόνου: Μηχανισμός επόμενου
Διαφορές single-processor αρχιτεκτονικών και SoCs
13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό
ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΜΟΝΤΕΛΑ ΣΥΣΤΗΜΑΤΟΣ Διδάσκων: Γ. Χαραλαμπίδης, Επ. Καθηγητής
723 Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών ΤΕΙ Λάρισας
723 Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών ΤΕΙ Λάρισας Το Τμήμα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών του ΤΕΙ Λάρισας ιδρύθηκε με το Προεδρικό Διάταγμα 200/1999 (ΦΕΚ 179 06/09/99), με πρώτο
Symantec Backup Exec System Recovery 7.0 Server Edition. Πλήρης Επαναφορά Συστημάτων Windows Μέσα σε Λίγα Λεπτά και όχι σε Ώρες ή Ημέρες
ΒΑΣΙΚΑ ΠΛΕΟΝΕΚΤΗΜΑΤΑ Πλήρης Επαναφορά Συστημάτων Windows Μέσα σε Λίγα Λεπτά και όχι σε Ώρες ή Ημέρες Η Symantec έχει επανειλημμένα καταδείξει δημόσια ότι το Backup Exec System Recovery μπορεί να εκτελέσει