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

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

Download "Μοντελοποίηση και Προσομοίωση Μεθόδων Ανάθεσης Εργασιών σε Συστήματα Πολλαπλών Clusters ΜΕΤΑΠΤΥΧΙΑΚΗ ΔΙΑΤΡΙΒΗ. του ΠΑΠΑΣΤΕΡΓΙΟΥ ΓΕΩΡΓΙΟΥ"

Transcript

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

2 Ευχαριστίες Με την ολοκλήρωση της παρούσης εργασίας αισθάνομαι ιδιαίτερα την ανάγκη να ευχαριστήσω την επιβλέπουσα Αναπληρώτρια Καθηγήτρια κα. Ελένη Καρατζά για την εμπιστοσύνη που μου έδειξε, για τις τεχνικές υποδείξεις που μου παρείχε καθώς και για την άψογη συνεργασία που είχαμε κατά την εκπόνηση αυτής της μεταπτυχιακής διατριβής. Επίσης, ευχαριστώ τους γονείς και τον αδερφό μου για την παρότρυνση και την υποστήριξη που μου προσέφεραν καθ όλη την πολύμηνη διαδικασία της ολοκλήρωσης της διατριβής αυτής όπως και όλα τα φιλικά πρόσωπα που με στήριξαν αυτό το χρονικό διάστημα. Παπαστεργίου Γεώργιος, Θεσσαλονίκη, Μάιος 27

3 Περιεχόμενα Περίληψη 1. Εισαγωγή Πολιτικές ανάθεση των tasks Πιθανοκρατική δρομολόγηση Round-Robin δρομολόγηση Least-Loaded-First δρομολόγηση Probabilistic-Shortest Queue δρομολόγηση Central-Queue δρομολόγηση Size Interval Task Assignment with Equal Load (SITA-E) Task Assignment based on Guessing Size (TAGS) Πολιτικές διαμοιρασμού φόρτου Δείκτες φόρτου Επιμέρους πολιτικές Παραδείγματα πολιτικών Χρονοπρογραμματισμός σε Clusters Μοντέλο προσομοίωσης και πειραματική μεθοδολογία Σύστημα και μοντέλα φόρτου εργασιών Πολιτικές δρομολόγησης των tasks Πολιτική μετανάστευσης Μετρικές απόδοσης Υλοποίηση του μοντέλου και παράμετροι εισόδου Πρόγραμμα προσομοίωσης Προσομοίωση διακεκριμένων γεγονότων Οργάνωση του μοντέλου προσομοίωσης Υπολογισμός των βασικών μετρικών απόδοσης Δημιουργία τυχαίων παρατηρήσεων Παράμετροι Εισόδου Πειραματικά αποτελέσματα Σενάριο 1: Ομοιογενή χαρακτηριστικά των ρευμάτων άφιξης Σενάριο 2: Ανομοιογενή χαρακτηριστικά των ρευμάτων άφιξης...61

4 5. Συμπεράσματα και προοπτικές έρευνας...95 Αναφορές...97 Παράρτημα...11

5 Περίληψη Η εργασία αυτή μελετάει την επίδραση που έχει στην συμπεριφορά και την απόδοση ενός κατανεμημένου συστήματος το οποίο αποτελείται από δύο ανεξάρτητα clusters που επικοινωνούν μεταξύ τους η εφαρμογή τριών διαφορετικών μηχανισμών ανάθεσης των tasks στους επεξεργαστές του συστήματος σε συνδυασμό με μια πολιτική διαμοιρασμού φόρτου μέσω μεταναστεύσεων. Ο στόχος των μηχανισμών αυτών είναι η εξισορρόπηση του φόρτου στους επεξεργαστές του συστήματος χρησιμοποιώντας όσο το δυνατόν λιγότερες γενικές πληροφορίες για την κατάσταση του συστήματος. Εξετάζονται οι πολιτικές δρομολόγησης Probabilistic, Shortest Queue και Probabilistic-Shortest Queue. H πολιτική διαμοιρασμού φόρτου που εφαρμόζεται στο σύστημα είναι μια απλή receiver-initiated πολιτική μετανάστευσης σύμφωνα με την οποία τα πιο πρόσφατα tasks στις ουρές τον υπερφορτωμένων επεξεργαστών μεταφέρονται σε ανενεργούς επεξεργαστές του τοπικού ή του απομακρυσμένου cluster. Το σύστημα μοντελοποιείται με βάση την θεωρία ουρών και τα αποτελέσματα εξάγονται μέσω της προσομοίωσης διακεκριμένων γεγονότων. Το μοντέλο εξετάζεται κάτω από συνθετικό φόρτο εργασιών, ο οποίος αποτελείται από εργασίες που μπορούν να μεταναστεύσουν και από εργασίες που δεν μπορούν, και συγκρίνεται η απόδοση του για τις τρεις πολιτικές δρομολόγησης. Στο Κεφάλαιο 1 γίνεται μια γενική εισαγωγή στις διάφορες έννοιες που αναφερόμαστε. Κατόπιν, στο Κεφάλαιο 2 περιγράφεται αναλυτικά το μοντέλο προσομοίωσης που χρησιμοποιήθηκε και η πειραματική μεθοδολογία. Στο Κεφάλαιο 3 γίνεται μια περιγραφή για το πρόγραμμα προσομοίωσης που αναπτύχθηκε και δίνονται οι διάφορες παράμετροι εισόδου του προγράμματος, και στο Κεφάλαιο 4 παρουσιάζονται και αναλύονται τα αποτελέσματα της προσομοίωσης. Τέλος, στο Κεφάλαιο 5 συνοψίζονται τα σημαντικότερα συμπεράσματα από την προσομοίωση του συστήματος.

6 Abstract This work studies the effects on behaviour and performance of a distributed system which consists of two independent clusters of processors that communicate with each other the application of three different task allocation mechanisms along with a migrative load sharing policy. The objective of these mechanisms is to balance the workload among the processors of the system using as less as possible system state information. The Probabilistic, Shortest Queue and Probabilistic-Shortest Queue task allocations policies are examined. The applied load sharing policy is a receiverinitiated migration policy according to which the most recent tasks in the queues of overloaded nodes are transferred to idle nodes of the local or remote cluster. The system is modelled according to the queuing theory and the results are derived through discrete-event simulation. The simulation model is examined under synthetic workload, which consists of jobs that can migrate and jobs that can t, and its performance in the three routing policies cases is compared. The paper is organized as follows. Chapter 1 gives an introduction to related concepts and Chapter 2 describes the simulation model that was used and the experimental methodology. In Chapter 3, a description of the simulation program that was developed and the input parameters are given, while the results of the simulation experiments are presented and analyzed in Chapter 4. The final chapter offers conclusions and provides suggestions for further research.

7 1. Εισαγωγή Ένα κατανεμημένο σύστημα αποτελείται από μια συλλογή ανεξάρτητων συστημάτων (κόμβων) τα οποία μοιράζονται κάποιους πόρους. Τα τελευταία χρόνια, τα κατανεμημένα συστήματα γίνονται όλο και πιο συχνά επειδή παρέχουν την δυνατότητα για αυξημένη υπολογιστική ισχύ, έχουν μεγάλη αποτελεσματικότητα κόστους και μπορούν να επεκταθούν εύκολα. Τα συστήματα αυτά είναι απαραίτητα για να ικανοποιηθούν οι ανάγκες των απαιτητικών εφαρμογών των διαφόρων επιστημονικών πεδίων. Ακόμα και τα πιο ισχυρά υπολογιστικά περιβάλλοντα υψηλής απόδοσης χρειάζονται κάποιο κατάλληλο χρονοπρογραμματισμό (scheduling) για να επιτύχουν την επιθυμητή ποιότητα υπηρεσίας τόσο από την μεριά του συστήματος όσο και του χρήστη. Για τον λόγο αυτό πολλοί ερευνητές αναζητούν μεθόδους χρονοπρογραμματισμού οι οποίες θα βελτιστοποιούν την απόδοση του κατανεμημένου συστήματος. Επιπλέον, οι πρόσφατες εξελίξεις στα υπολογιστικά περιβάλλοντα, όπως τα grid περιβάλλοντα και τα ετερογενή clusters, παρουσιάζουν νέες προκλήσεις χρονοπρογραμματισμού. Η ετερογένεια αυτών των συστημάτων και η μεταβλητότητα των πόρων (επεξεργαστές ή ομάδες επεξεργαστών μπορούν να προστεθούν ή να αφαιρεθούν οποιαδήποτε στιγμή) απαιτεί συχνά αφοσιωμένες τεχνικές χρονοπρογραμματισμού για κάθε ομάδα πόρων του κατανεμημένου υπολογιστικού περιβάλλοντος. Ο χρονοπρογραμματισμός σε κατανεμημένα συστήματα έχει μελετηθεί εκτενώς προσπαθώντας να επιτύχει διαφόρους στόχους απόδοσης σε πολλούς τύπους κατανεμημένων συστημάτων και παράλληλου φόρτου εργασίας. Είναι γενικά παραδεκτό ότι ο χρονοπρογραμματισμός είναι θεμελιώδης για την επιτυχία των κατανεμημένων συστημάτων [1] [2]. Σήμερα υπάρχουν διάφοροι τύποι κατανεμημένων συστημάτων, τα περισσότερα από τα οποία αποτελούνται από ένα μεγάλο αριθμό επεξεργαστών. Η πληθώρα κατανεμημένων συστημάτων όπως επίσης και η μεγάλη ποικιλία σε υλικό (hardware) και λογισμικό (software) κάνουν την διαχείριση των πόρων ενός κατανεμημένου συστήματος εξαιρετικά δύσκολη. Ο χρονοπρογραμματισμός των παράλληλων tasks μιας εργασίας (job) είναι τις περισσότερες φορές ένα σύνθετο πρόβλημα που καθορίζει τόσο για το πότε θα - 1 -

8 Κεφάλαιο 1 Εισαγωγή εκτελεστεί μια διεργασία αλλά και πού θα εκτελεστεί [3]. Σύμφωνα με αυτό, ο χρονοπρογραμματισμός στα κατανεμημένα συστήματα αποτελείται από δύο στοιχεία: τον διανεμητή (allocator) και τον χρονοπρογραμματιστή (scheduler). O διανεμητής αποφασίζει για το πού θα εκτελεστεί ένα task και ο χρονοπρογραμματιστής αποφασίζει πότε θα πάρει ένα task το μερίδιο του επεξεργαστή που του ανήκει. Τυπικά κάθε κόμβος σε ένα κατανεμημένο σύστημα έχει τον δικό του χρονοπρογραμματιστή για να χρονοπρογραμματίζει τα tasks στον τοπικό επεξεργαστή, συνήθως με τρόπους διαμοιρασμού του χρόνου, ενώ οι αποφάσεις υψηλότερου επιπέδου για την εκχώρηση των διεργασιών σε ένα κόμβο λαμβάνονται από τον διανεμητή. Παρ όλο που υπάρχουν αρκετές παραλλαγές [4], αυτό το σχήμα δείχνει να είναι πιο φυσικό για τα κατανεμημένα συστήματα. Ο λόγος για αυτό είναι διπλός. Πρώτον, κάθε κόμβος έχει συνήθως το δικό του λειτουργικό σύστημα το οποίο είναι ικανό για χρονοπρογραμματισμό των διεργασιών. Ο δεύτερος λόγος είναι ότι οι σχεδιαστές ενός κατανεμημένου συστήματος μπορούν να εστιάσουν καλύτερα στο πολύπλοκο πρόβλημα της διανομής του φόρτου χωρίς να επιβαρύνονται με την κάθε λεπτομέρεια του χρονοπρογραμματισμού. Ο διανεμητής και ο χρονοπρογραμματιστής εφαρμόζουν τις πολιτικές ανάθεσης των tasks και χρονοπρογραμματισμού αντίστοιχα. Η πολιτική ανάθεσης προσπαθεί να κατανείμει τον συνολικό φόρτο του συστήματος στους ανεξάρτητους κόμβους μεταφέροντας τις εργασίες στους κόμβους. Η πολιτική χρονοπρογραμματισμού απλά ελέγχει το σύνολο των διεργασιών που είναι διαθέσιμες σε ένα κόμβο και επιλέγει να εκτελεστεί η πιο κατάλληλη διεργασία με στόχο την μεγιστοποίηση της συνολικής απόδοσης. Η πολιτική χρονοπρογραμματισμού των διεργασιών οποιοδήποτε παραδοσιακού λειτουργικού συστήματος μπορεί να θεωρηθεί σαν πολιτική χρονοπρογραμματισμού, παρ όλο που σε μερικά ειδικά συστήματα μπορούν να χρησιμοποιηθούν ειδικές τεχνικές, όπως για παράδειγμα η τεχνική του co-scheduling [4]. Στην πραγματικότητα, ο χρονοπρογραμματισμός επιτυγχάνεται κυρίως από το λειτουργικό σύστημα. Έτσι στην παρούσα εργασία εστιάζουμε μόνο στον τρόπο εκχώρησης των εργασιών στους κόμβους του συστήματος

9 Κεφάλαιο 1 Εισαγωγή 1.1 Πολιτικές ανάθεσης των tasks Σε ένα κατανεμημένο σύστημα οι εργασίες (jobs) που φτάνουν σε αυτό, και πιο συγκεκριμένα τα παράλληλα tasks από τα οποία αποτελείται κάθε εργασία, πρέπει να εκχωρηθούν στους κόμβους του συστήματος για επεξεργασία. Όπως αναφέραμε και προηγουμένως ο κανόνας που ακολουθείται για την εκχώρηση των εργασιών είναι γνωστός και ως πολιτική ανάθεσης των tasks (Task Allocation Policy). Η επιλογή της πολιτικής ανάθεσης των εργασιών έχει σημαντική επίδραση στην απόδοση που παρατηρείται από τον χρήστη ενός τέτοιου συστήματος. Έτσι, ο σχεδιασμός ενός κατανεμημένου συστήματος καταλήγει στην επιλογή της καλύτερης δυνατής πολιτικής εκχώρησης των εργασιών για το συγκεκριμένο μοντέλο και τις απαιτήσεις των χρηστών. Παρ όλο που η επινόηση νέων πολιτικών είναι εύκολη, η ανάλυση ακόμα και των πιο απλών πολιτικών μπορεί να αποδειχθεί πολύ δύσκολη: Μερικές από τις πιο μακροχρόνιες αναπάντητες ερωτήσεις στην θεωρία των ουρών περιλαμβάνουν την ανάλυση της απόδοσης των πολιτικών ανάθεσης των εργασιών [5][6][7][8]. FCFS Host 1 FCFS Host 2 Εξωτερικές αφίξεις Διανεμητής FCFS Host 3 FCFS Host 4 Εικόνα 1.1. Ένα τυπικό κατανεμημένο σύστημα με τέσσερις κόμβους Στην ενότητα αυτή περιγράφονται οι σημαντικότερες πολιτικές ανάθεσης των tasks που χρησιμοποιούνται πιο συχνά καθώς και μερικές ακόμα πολιτικές που έχουν - 3 -

10 Κεφάλαιο 1 Εισαγωγή προταθεί στην βιβλιογραφία. Σε όλες αυτές τις πολιτικές η εκχώρηση των tasks στους κόμβους του συστήματος γίνεται μέσω ενός κεντρικού διανεμητή (dispatcher), ο οποίος στις περισσότερες περιπτώσεις δεν γνωρίζει εκ των προτέρων το μέγεθος του κάθε task. Η Εικόνα 1.1 δείχνει ένα τυπικό παράδειγμα ενός κατανεμημένου συστήματος το οποίο αποτελείται από τέσσερις κόμβους και έναν διανεμητή. Στην πράξη μπορεί να λείπει η μονάδα διανομής και οι χρήστες του συστήματος μπορεί να αποφασίζουν από μόνοι τους σε ποιον κόμβο επιθυμούν να τρέξουν την εργασία τους. Οι εργασίες που φτάνουν σε έναν κόμβο εκτελούνται σύμφωνα με την πειθαρχία First-Come-First-Served (FCFS), σύμφωνα με την οποία οι εργασίες (και πιο συγκεκριμένα τα tasks από τα οποία αποτελούνται οι εργασίες) εκτελούνται με την σειρά που αφίχθησαν. Σύμφωνα με τα [6] και [7] οι πολιτικές ανάθεσης των tasks μπορούν να ομαδοποιηθούν σε τρείς κατηγορίες: α) Στατικές: οι στατικές πολιτικές ανάθεσης δεν χρησιμοποιούν δυναμικές πληροφορίες, όπως για παράδειγμα τον φόρτο στο σύστημα. Χρησιμοποιούν στατικές πληροφορίες που συνήθως αφορούν στο σύστημα στο οποίο θα εφαρμοστούν και σε εκτιμήσεις για την κατανομή των tasks που πρόκειται να φτάσουν στο σύστημα. Ένα μεγάλο πλεονέκτημα των τεχνικών αυτών είναι ότι δεν εισάγουν καθόλου κόστος εκτέλεσης (run-time overhead). Επίσης, οι τεχνικές αυτές είναι πιο εύκολο να σχεδιαστούν και μπορούν να είναι εξαιρετικά αποδοτικές όταν εφαρμόζονται σε ομοιογενή κατανεμημένα συστήματα. Παρ όλα αυτά, η απόδοση τους εξαρτάται από τους προβλεπόμενους χρόνους εκτέλεσης και έτσι μπορεί να μην είναι κατάλληλες για δυναμικά ή απρόβλεπτα περιβάλλοντα και εφαρμογές. Υπάρχουν δύο ευρέως γνωστές στατικές πολιτικές δρομολόγησης των tasks: η Πιθανοκρατική (Probabilistic) δρομολόγηση και η δρομολόγηση Κυκλικής Εναλλαγής (Round-Robin), οι οποίες περιγράφονται παρακάτω. β) Δυναμικές: οι δυναμικές πολιτικές ανάθεσης προσπαθούν να βελτιώσουν τις κλασικές στατικές μεθόδους λαμβάνοντας υπόψη τον φόρτο του συστήματος για πιο έξυπνη κατανομή των tasks στους διαφόρους κόμβους του συστήματος. Οι τεχνικές αυτές εισάγουν όμως κάποιο κόστος εκτέλεσης, το οποίο προκύπτει λόγω του ότι απαιτείται η συνεχής παρατήρηση της τρέχουσας κατάστασης του συστήματος στη διάρκεια του χρόνου. Συνήθως οι δυναμικές τεχνικές δεν είναι πολύ πολύπλοκες στον σχεδιασμό τους και δεν εισάγουν μεγάλο κόστος εκτέλεσης. Έτσι, οι δυναμικές - 4 -

11 Κεφάλαιο 1 Εισαγωγή πολιτικές εκχώρησης έχουν γενικά την δυνατότητα να αποδώσουν καλύτερα από τις στατικές. Οι πιο γνωστοί δυναμικοί αλγόριθμοι δρομολόγησης είναι ο Shortest-Queue (SQ) και ο Least-Work-Remaining (LWR), οι οποίοι ανήκουν στην γενική κατηγορία των Least-Loaded-First (LLF) πολιτικών, ο Probabilistic-Shortest-Queue και ο Central-Queue, οι οποίοι εξηγούνται παρακάτω. γ) Βασισμένες στο μέγεθος των tasks (Size-Based): σε αυτές τις πολιτικές ανάθεσης κάθε κόμβος εξυπηρετεί tasks των οποίων οι απαιτήσεις εξυπηρέτησης ανήκουν σε μια καθορισμένη κατηγορία. Οι size-bazed πολιτικές χωρίζουν την κατανομή του μεγέθους των tasks σε έναν αριθμό διαστημάτων και κάθε κόμβος του κατανεμημένου συστήματος σχεδιάζεται έτσι ώστε να εκτελεί tasks των οποίων το μέγεθος αντιστοιχεί σε ένα τέτοιο διάστημα. Τα εισερχόμενα tasks στη συνέχεια εκχωρούνται στατικά σε κάποιον εξυπηρέτη ανάλογα με το μέγεθος του. Με τον τρόπο αυτό ομαδοποιούνται σε κάθε κόμβο tasks με παρόμοιο μέγεθος, με στόχο να αποκλειστούν οι περιπτώσεις όπου ένα μικρό task μένει κολλημένο πίσω από ένα σημαντικά μεγαλύτερο task. Αλγόριθμοι που ανήκουν στην κατηγορία αυτή είναι ο Size Interval Task Assignment with Equal Load (SITA-E) και o Task Assignment based on Guessing Size (TAGS), τους οποίους περιγράφουμε παρακάτω Πιθανοκρατική δρομολόγηση Σύμφωνα με την Πιθανοκρατική (Probabilistic) πολιτική ανάθεσης των tasks κάθε εργασία, και πιο συγκεκριμένα κάθε παράλληλο task της εργασίας, αποστέλλεται στον κόμβο i πιθανότητα 1 / h, όπου h ο συνολικός αριθμός των κόμβων του κατανεμημένου συστήματος. Η πολιτική αυτή εξισώνει τον αναμενόμενο αριθμό των εργασιών σε κάθε κόμβο και χρησιμοποιείται συνήθως ως βάση για την σύγκριση άλλων πολιτικών δρομολόγησης. Η απόδοση της Πιθανοκρατικής δρομολόγησης συνδέεται άμεσα με την απόκλιση της κατανομής του μεγέθους των εργασιών/tasks και χειροτερεύει όσο μεγαλώνει η μεταβλητότητα του μεγέθους των tasks, καθώς η ανάθεση των tasks δεν λαμβάνει υπόψη τον φόρτο σε κάθε κόμβο [6][7]

12 Κεφάλαιο 1 Εισαγωγή Round-Robin δρομολόγηση Η πολιτική κυκλικής εναλλαγής είναι η πιο συνηθισμένη πολιτική εκχώρησης των tasks, σύμφωνα με την οποία τα tasks ανατίθενται στους κόμβους του συστήματος με κυκλικό τρόπο με το ι-οστό task να εκχωρείται στον κόμβο i mod h, όπου h ο συνολικός αριθμός των κόμβων του κατανεμημένου συστήματος. Η πολιτική αυτή, όπως και η Πιθανοκρατική, είναι απλή και εξισώνει τον αναμενόμενο αριθμό των tasks σε κάθε κόμβο. Οι συγγραφείς του [8] δείχνουν ότι η πολιτική Round-Robin έχει παρόμοια χαρακτηριστικά απόδοσης με την Πιθανοκρατική πολιτική. Η απόδοση της συνδέεται άμεσα με την απόκλιση της κατανομής του μεγέθους των tasks, δεν μεγιστοποιεί την χρησιμοποίηση των εξυπηρετών και δεν ελαχιστοποιεί τους χρόνους απόκρισης των εργασιών. Ο συγγραφέας του [9] δείχνει ότι στην περίπτωση ομοιογένειας των εξυπηρετών η εκχώρηση των tasks κυκλικά στις ουρές είναι βέλτιστη για εκθετικούς χρόνους εξυπηρέτησης. Επιπλέον, οι συγγραφείς του [1] γενικεύουν την διαπίστωση αυτή για την περίπτωση των όμοιων IFR (Increasing Failure Rate) εξυπηρετών Least-Loaded-First δρομολόγηση Σύμφωνα με την πολιτική LLF τα tasks εκχωρούνται στους εξυπηρέτες με τον λιγότερο υπολειπόμενο χρόνο εργασίας, προσπαθώντας έτσι να επιτύχουν μια στιγμιαία εξισορρόπηση του φόρτου. Ο υπολειπόμενος χρόνος εργασίας σε κάθε εξυπηρέτη μπορεί να μετρηθεί με δύο τρόπους: α) Στην πρώτη περίπτωση θεωρείται ότι δεν είναι γνωστό το μέγεθος των tasks και o υπολειπόμενος χρόνος εργασίας μπορεί να μετρηθεί προσεγγιστικά από το μήκος της ουράς κάθε εξυπηρέτη, δηλαδή από τον αριθμό των tasks που περιμένουν για εξυπηρέτηση στην ουρά του εξυπηρέτη. Η πολιτική αυτή ονομάζεται Shortest Queue και τα εισερχόμενα tasks δρομολογούνται στον εξυπηρέτη με τον μικρότερο αριθμό tasks. Σύμφωνα με το [11], η πολιτική αυτή είναι βέλτιστη όταν η κατανομή του μεγέθους των εργασιών είναι εκθετική και η διαδικασία άφιξης Poisson. Στην εργασία αυτή η βέλτιστη κατάσταση ορίζεται ως η μεγιστοποίηση του αριθμού των εργασιών που ολοκληρώνονται σε ένα σταθερό χρονικό διάστημα t. Οι συγγραφείς του [12] δείχνουν ότι η δρομολόγηση Shortest Queue ελαχιστοποιεί τον - 6 -

13 Κεφάλαιο 1 Εισαγωγή αναμενόμενο συνολικό χρόνο για την ολοκλήρωση όλων των εργασιών που φτάνουν στο σύστημα για ένα σταθερό χρονικό διάστημα t, για εκθετική κατανομή του μεγέθους των εργασιών και για τυχαία διαδικασία άφιξης. β) Στη δεύτερη περίπτωση θεωρείται ότι το μέγεθος των tasks είναι γνωστό εκ των προτέρων και κάθε εισερχόμενο task εκχωρείται στον εξυπηρέτη με το μικρότερο άθροισμα των μεγεθών των εργασιών που περιμένουν στην ουρά και του υπολειπόμενου χρόνου του task που εξυπηρετείται. Η πολιτική αυτή ονομάζεται Least-Work-Remaining (LWR) και πλησιάζει περισσότερο στην επίτευξη εξισορροπημένου φόρτου στο σύστημα, απαιτεί όμως την επιπλέον γνώση των απαιτήσεων εξυπηρέτησης των tasks που φτάνουν στο σύστημα και η οποία δεν είναι πάντα διαθέσιμη. Στις περιπτώσεις όπου η LLF βασίζεται στον αριθμό των εργασιών στις ουρές για την εξισορρόπηση των εισερχόμενων tasks και όπου η μεταβλητότητα του μεγέθους των tasks είναι υψηλή, είναι προφανές ότι η πληροφορία αυτή δεν είναι αντιπροσωπευτική του φόρτου σε κάθε εξυπηρέτη και αυτό επιδρά αρνητικά στην απόδοση του συστήματος. Γενικά, όταν η μεταβλητότητα του μεγέθους των tasks είναι χαμηλή, η LLF πολιτική επιδεικνύει πολύ καλή απόδοση, ενώ για υψηλές αποκλίσεις των tasks η απόδοση μειώνεται [13] και οι νέες πολιτικές που βασίζονται στο μέγεθος (size-based) αποδίδουν καλύτερα [8] Probabilistic-Shortest Queue δρομολόγηση Ο συγγραφέας του [14] προτείνει έναν απλό δυναμικό αλγόριθμο ανάθεσης των tasks στους επεξεργαστές ενός κατανεμημένου συστήματος το οποίο αποτελείται από n όμοιους επεξεργαστές, σύμφωνα με τον οποίο για κάθε εισερχόμενο task επιλέγονται με τυχαίο τρόπο d επεξεργαστές και το task εκχωρείται στον επεξεργαστή με το μικρότερο αριθμό tasks στην ουρά του. Στην παρούσα εργασία θα ονομάζουμε την πολιτική αυτή ως Probabilistic-Shortest Queue, καθώς συνδυάζει χαρακτηριστικά των πολιτικών Probabilistic και Shortest Queue. Ο συγγραφέας του [14] αποδεικνύει αναλυτικά ότι όταν η αφίξεις είναι Poisson και οι χρόνοι εξυπηρέτησης των tasks είναι εκθετικά κατανεμημένοι, η επιλογή δύο τυχαίων επεξεργαστών (d = 2) οδηγεί σε εκθετικές βελτιώσεις στον αναμενόμενο χρόνο παραμονής των εργασιών στο - 7 -

14 Κεφάλαιο 1 Εισαγωγή σύστημα συγκριτικά με την Πιθανοκρατική δρομολόγηση. Επιπλέον, η επιλογή τριών επεξεργαστών (d = 3) αποδίδει καλύτερα από την προηγούμενη κατά ένα σταθερό παράγοντα Central-Queue δρομολόγηση Η πολιτική Central-Queue, ή αλλιώς Μ / G / k, συγκρατεί όλα τα tasks στην μονάδα του διανεμητή σε μια ουρά με πειθαρχία εξυπηρέτησης FCFS, και μόνο όταν ένας κόμβος του συστήματος είναι ελεύθερος ζητάει κάποιο task από τον διανεμητή και λαμβάνει έτσι το επόμενο task στην ουρά. Η πολιτική αυτή μεγιστοποιεί την χρησιμοποίηση των κόμβων και με τον τρόπο αυτό βοηθάει στην ελαχιστοποίηση του μέσο χρόνου απόκρισης. Μπορεί να αποδειχθεί ότι παρ όλο που η δρομολόγηση Central-Queue δεν απαιτεί εκ των προτέρων την πληροφορία για το μέγεθος κάθε task αποδίδει παρόμοια με την πολιτική Least-Work-Remaining που περιγράψαμε προηγουμένως και που εκχωρεί κάθε task στον εξυπηρέτη με μικρότερο συνολικό υπολειπόμενο χρόνο [15]. Έτσι, η δρομολόγηση Central-Queue αποδίδει καλά για εκθετικές κατανομές του μεγέθους των tasks και η απόδοση της χειροτερεύει όταν η κατανομή του μεγέθους των tasks έχει μεγαλύτερη απόκλιση. Για να αντιμετωπιστούν οι περιπτώσεις όπου η κατανομή του χρόνου εξυπηρέτησης που απαιτείται από τα tasks έχει μεγάλη απόκλιση, έχουν προταθεί στην βιβλιογραφία οι size-bazed πολιτικές μερικές από τις οποίες περιγράφονται παρακάτω Size Interval Task Assignment with Equal Load (SITA-E) Όπως αναφέραμε προηγουμένως, στις size-bazed πολιτικές κάθε κόμβος του συστήματος σχετίζεται με ένα εύρος μεγέθους και κάθε task αποστέλλεται στον κατάλληλο κόμβο ανάλογα με το μέγεθος του. Κατά κάποιο τρόπο στην πράξη αυτά τα εύρη μεγέθους επιλέγονται συνήθως τυχαία. Οι συγγραφείς του [8] προτείνουν έναν πιο τυπικό αλγόριθμο για δρομολόγηση βασισμένη στο μέγεθος. Η βασική ιδέα του αλγορίθμου είναι ο ορισμός των διαστημάτων μεγέθους των tasks με τέτοιο τρόπο ώστε ο συνολικός φόρτος που κατευθύνεται σε κάθε κόμβο να είναι ο ίδιος. Το - 8 -

15 Κεφάλαιο 1 Εισαγωγή κίνητρο γι αυτό είναι ότι η εξισορρόπηση του φορτίου ελαχιστοποιεί τον μέσο χρόνο απόκρισης. Ο μηχανισμός για την επίτευξη ισορροπημένου αναμενόμενου φόρτου στους κόμβους χρησιμοποιεί την κατανομή του μεγέθους των tasks για τον ορισμό των ορίων των διαστημάτων μεγέθους έτσι ώστε ο αναμενόμενος φόρτος προς κάθε κόμβο να είναι ο ίδιος. Η κατανομή του μεγέθους των εργασιών είναι εύκολο να υπολογιστεί διατηρώντας ένα ιστόγραμμα στον διανεμητή για όλα τα μεγέθη των εργασιών που έχουν κατατεθεί σε αυτόν σε μια χρονική περίοδο. Τα όρια των διαστημάτων, δοθείσας της κατανομής, υπολογίζονται μια φορά και στη συνέχεια ο διανεμητής χρειάζεται να θυμάται τα όρια αυτά για να εφαρμόσει την πολιτική SITA- E. Ένα πλεονέκτημα του SITA-E είναι ότι αν η κατανομή του μεγέθους των εργασιών αλλάξει σημαντικά κατά την διάρκεια του χρόνου, τα όρια μπορούν να υπολογιστούν ξανά και να προσαρμοστούν στην αλλαγή. Η πολιτική SITA-E μπορεί να εφαρμοστεί σε οποιαδήποτε κατανομή του μεγέθους των εργασιών με πεπερασμένο μέσο. Οι συγγραφείς του [8] δείχνουν με προσομοίωση ότι στην περίπτωση όπου η μεταβλητότητα του μεγέθους των tasks είναι υψηλή, η δρομολόγηση SITA-E αποδίδει σταθερά καλύτερα από όλες τις προηγούμενες πολιτικές δρομολόγησης και η απόδοση της είναι σχεδόν ανεπηρέαστη από αλλαγές στην μεταβλητότητα Task Assignment based on Guessing Size (TAGS) Πολλές προσεγγίσεις που βασίζονται στο μέγεθος των εργασιών θεωρούν ότι ο χρόνος εξυπηρέτησης των tasks είναι γνωστός την στιγμή της εκχώρησης. Η περίπτωση αυτή όμως είναι γενικά σπάνια. Η πολιτική TAGS [15] αναγνωρίζει το γεγονός αυτό και θεωρεί ότι το μέγεθος των tasks είναι άγνωστο την στιγμή της ανάθεσης και έχει σχεδιαστεί ειδικά για φόρτους εργασίας με μεγάλη μεταβλητότητα Σύμφωνα με την πολιτική αυτή κάθε κόμβος του συστήματος αντιστοιχίζεται με ένα χρονικό όριο, έτσι ώστε κάθε task εκτελείται σε κάθε κόμβο μέχρι το προσχεδιασμένο χρονικό όριο. Αν το task δεν έχει ολοκληρωθεί μέχρι τότε, σταματάει και ξεκινάει από την αρχή στον επόμενο κόμβο. Τα χρονικά αυτά όρια είναι συνάρτηση της κατανομής του μεγέθους των εργασιών και του εξωτερικού ρυθμού άφιξης, και μπορούν να καθοριστούν παρατηρώντας το σύστημα για κάποιο χρονικό διάστημα

16 Κεφάλαιο 1 Εισαγωγή Στο [15] προτείνονται τρεις παραλλαγές του αλγορίθμου TAGS: TAGS-optslowdown, ο οποίος σχεδιάστηκε για να ελαχιστοποιεί το μέσο slowdown 1, TAGSopt-waitingtime, ο οποίος σχεδιάστηκε για να ελαχιστοποιεί τον μέσο χρόνο αναμονής, και ο TAGS-opt-fairness, o οποίος σχεδιάστηκε για βελτιστοποιεί την δικαιοσύνη, πετυχαίνοντας ταυτόχρονα παρόμοιο μέσο slowdown και μέσο χρόνο απόκρισης με τις δύο άλλες προσεγγίσεις. Με τον όρο δικαιοσύνη εννοούμε την επιθυμητή ιδιότητα όπου όλα τα tasks, μεγάλα και μικρά, θα έχουν το ίδιο αναμενόμενο slowdown. Παρ όλο που η πολιτική TAGS μοιάζει να είναι μη διαισθητική σαν ιδέα καθώς δεν προκαλεί εξισορρόπηση του φόρτου, φαίνεται να αποδίδει καλύτερα σε σύγκριση με τις πολιτικές Probabilistic, LWR και SITA-E. Οι συγγραφείς σημειώνουν ότι όσο μεγαλύτερος είναι η μεταβλητότητα του μεγέθους των εργασιών τόσο μεγαλύτερη είναι η βελτίωση της πολιτικής TAGS σε σύγκριση με τις υπόλοιπες πολιτικές, αλλά οι βελτιώσεις αυτές εξαρτώνται από τον φόρτο ο οποίος δεν πρέπει να είναι υπερβολικά υψηλός λόγω του αυξημένου overhead επεξεργασίας που προκαλείται από την επανεκκίνηση ενός μεγάλου αριθμού tasks από την αρχή. Ένας περιορισμός της πολιτικής TAGS είναι η στατική φύση της. Αν τα χαρακτηριστικά της κατανομής του μεγέθους των εργασιών αλλάξουν σημαντικά, η απόδοση θα μειωθεί. Παρ όλο που τα χρονικά όρια μπορούν να υπολογισθούν ξανά, αυτό θα προκαλέσει σημαντικό overhead και είναι μια λειτουργία η οποία δεν θα πρέπει να εκτελείται συχνά. 1 Ως slowdown ορίζεται ο λόγος του χρόνο απόκρισης του task προς τον χρόνο εξυπηρέτησής του

17 Κεφάλαιο 1 Εισαγωγή 1.2 Πολιτικές Διαμοιρασμού φόρτου Γενικά, σε ένα κατανεμημένο σύστημα κανένας επεξεργαστής δεν πρέπει να παραμένει ανενεργός ενώ την ίδια στιγμή άλλοι επεξεργαστές είναι υπερφορτωμένοι. Εκτός από της τεχνικές ανάθεσης των tasks που περιγράψαμε νωρίτερα, οι οποίες προσπαθούν να εξισορροπήσουν τον φόρτο ανάμεσα στους επεξεργαστές, επιπλέον τεχνικές έχουν μελετηθεί για την βελτίωση της απόδοσης των κατανεμημένων συστημάτων και αφορούν στην μεταφορά των tasks από τους υπερφορτωμένους στους μη-υπερφορτωμένους επεξεργαστές [16][17][18][19][2][21][3]. Ο όρος διαμοιρασμός φόρτου (Load Sharing, LS) περιγράφει την διαδικασία με την οποία εξασφαλίζεται ότι κανένας επεξεργαστής δεν θα παραμένει ανενεργός ενώ υπάρχουν tasks που περιμένουν για εκτέλεση στις ουρές άλλων επεξεργαστών. Η μεταφορά ενός task από την ουρά ενός επεξεργαστή στην ουρά κάποιου άλλου αναφέρεται στην βιβλιογραφία με τον όρο μετανάστευση (migration). Υπάρχουν δύο τύποι μετανάστευσης των tasks και οι οποίοι αναφέρονται συχνά με τους όρους προεκτοπιστική (preemptive) και μη-προεκτοπιστική (non-preemptive) μετανάστευση. Η προεκτοπιστική μετανάστευση αναφέρεται στην μετανάστευση ενός task του οποίου η εκτέλεση έχει ήδη ξεκινήσει. Είναι προφανές ότι η μηπροεκτοπιστική μετανάστευση μπορεί να εφαρμοστεί πιο εύκολα καθώς δεν απαιτεί από το σύστημα την δημιουργία σημείων ελέγχου (checkpoints) της κατάστασης του task που εκτελείται και την μεταφορά της κατάστασης αυτής στον επεξεργαστή που πρόκειται να μεταναστεύσει. Αν οι δύο επεξεργαστές διαφέρουν ως προς την αρχιτεκτονική τους, η προεκτοπιστική μετανάστευση είναι δύσκολο να υλοποιηθεί. Επιπλέον, όσο αφορά τον χρόνο, η διαδικασία της μετανάστευσης είναι πιο δαπανηρή καθώς πρέπει να μεταφερθεί στον κόμβο προορισμού ολόκληρη η κατάσταση του task και η οποία μπορεί να είναι σχετικά μεγάλη. Σύμφωνα με το [22], αυτό το επιπλέον overhead περιορίζει σε μεγάλο βαθμό το κέρδος στην απόδοση που μπορεί να επιτευχθεί εφαρμόζοντας προεκτοπιστικές μεταφορές tasks συγκριτικά με ένα σύστημα που δεν τις εφαρμόζει

18 Κεφάλαιο 1 Εισαγωγή Δείκτες φόρτου (Load Indices) Η ακριβής μέτρηση του φόρτου στους διάφορους επεξεργαστές του συστήματος είναι πολύ σημαντική για την λήψη αποφάσεων διαμοιρασμού του φόρτου. Η μέτρηση του φόρτου στους κόμβους ενός κατανεμημένου συστήματος είναι μια εξαιρετικά δύσκολη διαδικασία. Συνήθως ο φόρτος μετριέται με κάποια μετρική, η οποία ονομάζεται δείκτης φόρτου (load index). Ο δείκτης φόρτου κάποιου κόμβου συγκρίνεται συνήθως με ένα ή δύο κατώφλια (thresholds) και ο κόμβος ταξινομείται ως υπερφορτωμένος (overloaded), μη-φορτωμένος (underloaded) ή τίποτα από τα δύο. Ένας μεγάλος αριθμός από πιθανές μετρικές έχει μελετηθεί στο παρελθόν, ο οποίος περιλαμβάνει το μήκος της ουράς του επεξεργαστή, το μέσο μήκος της ουράς του επεξεργαστή, την χρησιμοποίηση του επεξεργαστή, την ποσότητα της μνήμης που είναι διαθέσιμη, τον κανονικοποιημένο χρόνο απόκρισης, το μήκος της ουράς για I/O όπως επίσης και συνδυασμούς των παραμέτρων αυτών [23][24]. Έχει βρεθεί ότι οι απλοί δείκτες φόρτου είναι πιο αποτελεσματικοί και επιβάλλουν μικρότερο overhead. Πιο συγκεκριμένα, οι συγγραφείς των [23] και [24] συγκρίνουν τους διάφορους μονοδιάστατους δείκτες φόρτου με κάποιους δείκτες που είναι γραμμικοί συνδυασμοί αυτών και συμπεραίνουν ότι το στιγμιαίο μήκος της ουράς του επεξεργαστή είναι ένας από τους πιο επαρκής δείκτες φόρτου. Η απόδοση του μπορεί να βελτιωθεί ομαλοποιώντας (smoothing) τον δείκτη με τον υπολογισμό του μέσου όρου του μήκους της ουράς για ένα χρονικό διάστημα. Η ομαλοποίηση είναι πολύ σημαντική όταν ο φόρτος στο σύστημα περιλαμβάνει έναν μεγάλο αριθμό από εργασίες μικρής διάρκειας (short-lived jobs). Το βέλτιστο χρονικό παράθυρο εξαρτάται φανερά από την δυναμική του φόρτου στο σύστημα και πρέπει να επιλεχθεί προσεκτικά ώστε να μην δίνει έμφαση σε χρονικά προηγούμενους φόρτους. Μερικά συστήματα, όπως το Utopia [25] και το Condor [26], χρησιμοποιούν πολλαπλούς δείκτες φόρτου για να πάρουν αποφάσεις διαμοιρασμού του φόρτου. Τα βέλτιστα thresholds εξαρτώνται επίσης από τα χαρακτηριστικά του φόρτου στο σύστημα καθώς και από τον αν εφαρμόζεται ομαλοποίηση του δείκτη φόρτου. Aν ο μέσος χρόνος εξυπηρέτησης των tasks είναι χαμηλός και οι ρυθμοί άφιξης υψηλοί, οι τιμές για το φυσιολογικό και το υπερφορτωμένο threshold θα είναι υψηλότερες από ότι στην περίπτωση όπου μέσος χρόνος εξυπηρέτησης είναι υψηλός και οι ρυθμοί

19 Κεφάλαιο 1 Εισαγωγή άφιξης χαμηλοί. Στην τελευταία περίπτωση, φόρτος ίσος με ένα task μπορεί να θεωρηθεί φυσιολογικός και φόρτος ίσος με δύο tasks υπερφορτωμένος Επιμέρους Πολιτικές Τυπικά, μια πολιτική διαμοιρασμού του φόρτου αποτελείται από τέσσερις επιμέρους πολιτικές: την πολιτική πληροφόρησης (information policy), την πολιτική μεταφοράς (transfer policy), την πολιτική επιλογής (selection policy) και την πολιτική τοποθεσίας (location policy). Πολιτική Πληροφόρησης Συγκεντρώνει τις πληροφορίες για την κατάσταση του συστήματος, οι οποίες θα χρησιμοποιηθούν στις αποφάσεις εκχώρησης. Χρησιμοποιείται για την λήψη πιο αξιόπιστων αποφάσεων, παρ όλο που προκαλεί επίσης overhead στο σύστημα. Υπάρχουν τρία ζητήματα που σχετίζονται με την πολιτική πληροφόρησης: τι πληροφορία συγκεντρώνεται, καθώς και πού και πότε πρόκειται να συλλεχθεί η πληροφορία αυτή. Είναι επίσης υπεύθυνη για την διασπορά της πληροφορίας του φόρτου κάθε κόμβου. Σχετικές με την πολιτική πληροφόρησης είναι οι έννοιες του δείκτη φόρτου και των thresholds που περιγράψαμε προηγουμένως. Η πληροφορία μπορεί να συγκεντρωθεί σε έναν μόνο κόμβο σε ένα σύστημα όπου εφαρμόζονται κεντρικοί αλγόριθμοι για τον διαμοιρασμό του φόρτου, ή μπορεί να είναι συγκεντρωμένη ολικά ή μερικά σε κάθε κόμβο σε συστήματα που εφαρμόζονται κατανεμημένοι αλγόριθμοι. Η συλλογή της πληροφορίας μπορεί να είναι demand-driven, όπου κάθε κόμβος συλλέγει πληροφορίες για τους άλλους κόμβους μόνο όταν χρειάζεται, περιοδική όπου η πληροφορίες συλλέγονται περιοδικά, ή state-driven όπου οι κόμβοι διασπείρουν την πληροφορία της κατάστασης τους (overloaded, underloaded, mediumloaded) κάθε φορά που αλλάζουν οι καταστάσεις αυτές. Οι μηχανισμοί για την συλλογή πληροφοριών στην περίπτωση των demand-driven πολιτικών είναι η βολιδοσκόπηση (probing) και o broadcast μηχανισμός [27]. Σύμφωνα με την πρώτη κάθε κόμβος που θέλει να συμμετέχει σε μια μεταφορά tasks επιλέγει έναν κόμβο και ελέγχει αν μπορεί να συμμετέχει στην μεταφορά αυτή. Αν όχι η διαδικασία επαναλαμβάνεται μέχρι να βρεθεί επίσης κατάλληλος κόμβος ή μέχρι ο αριθμός των βολιδοσκοπήσεων να ξεπεράσει ένα όριο

20 Κεφάλαιο 1 Εισαγωγή Σύμφωνα με τον δεύτερο μηχανισμό ο κόμβος που επιθυμεί να συμμετέχει σε μια μεταφορά κάνει broadcast την κατάσταση του. Από επίσης κόμβους που απαντούν στο broadcast μήνυμα επιλέγεται ο κατάλληλος παραλήπτης/αποστολέας. Πολιτική μεταφοράς Καθορίζει πότε ένας κόμβος είναι κατάλληλος για την μετανάστευση ενός task είτε ως αποστολέας είτε ως παραλήπτης. Οι περισσότεροι αλγόριθμοι διαμοιρασμού φόρτου χρησιμοποιούν την πολιτική κατωφλίου (threshold policy) ως πολιτική μεταφοράς. Η πολιτική αυτή υποδεικνύει έναν κόμβο ως αποστολέα αν ο δείκτης φόρτου του κόμβου ξεπεράσει την τιμή επίσης κατωφλίου T 1 ή ως παραλήπτη αν ο φόρτος γίνει μικρότερος από μια τιμή T 2 ( T 1 > T 2 ) [28]. Μια άλλη πολιτική μεταφοράς είναι η σχετική πολιτική (relative policy) η οποία λαμβάνει υπόψη τον φόρτο του κόμβου σε σχέση με τον φόρτο στους άλλους κόμβους. Για παράδειγμα, ένας κόμβος μπορεί να είναι ένας κατάλληλος παραλήπτης αν ο φόρτος του είναι μικρότερος από τον φόρτο κάποιου άλλου κόμβου τουλάχιστον κατά μια ποσότητα Δ [28]. Πολιτική επιλογής - Μόλις η πολιτική μεταφοράς αποφασίσει ότι ένας κόμβος είναι αποστολέας, η πολιτική επιλογής επιλέγει ένα task από την ουρά του επεξεργαστή του για μεταφορά. Αν η πολιτική επιλογής αποτύχει να βρει ένα κατάλληλο task, o κόμβος αυτός παύει να θεωρείται αποστολέας. Στην πιο απλή περίπτωση της μηπροεκτοπιστικής μετανάστευσης μεταφέρονται μόνο tasks τα οποία δεν έχουν ξεκινήσει να εκτελούνται και συνήθως μεταφέρονται τα πιο πρόσφατα tasks που βρίσκονται στην ουρά. Στην περίπτωση της προεκτοπιστικής μετανάστευσης η πολιτική επιλογής πρέπει να επιλέξει tasks με μεγάλο χρόνο εξυπηρέτησης (longlived) έτσι ώστε το overhead της μεταφοράς να θεωρείται μικρό συγκριτικά με τον χρόνο αυτό. Πολιτική Θέσης Βρίσκει έναν κατάλληλο παραλήπτη/αποστολέα για τον κόμβο που έχει επιλεγεί ως πιθανός αποστολέας/παραλήπτης από την πολιτική μεταφοράς. Η πολιτική θέσης μπορεί να βασίζεται σε τυχαίες επιλογές παραληπτών/αποστολέων, σε κάποια πιθανοκρατικά σχήματα τα οποία διανέμουν τα tasks σύμφωνα με ένα σύνολο κανόνων (διανύσματα πιθανοτήτων), στην πληροφορία για την κατάσταση των κόμβων ή σε στοχαστικά μανθάνοντα αυτόματα τα οποία χρησιμοποιούν τόσο την πληροφορία για την κατάσταση του συστήματος όσο και διανύσματα πιθανοτήτων

21 Κεφάλαιο 1 Εισαγωγή [29]. Οι έρευνες δείχνουν ότι οι πολιτικές θέσης που βασίζονται στην κατάσταση του συστήματος αποδίδουν σταθερά καλύτερα από επίσης αντίστοιχες πιθανοκρατικές πολιτικές. Στην περίπτωση που η πληροφορία για την κατάσταση του συστήματος είναι συγκεντρωμένη σε έναν κόμβο, χρησιμοποιείται μια κεντρική πολιτική θέσης σύμφωνα με την οποία ο κόμβος επίσης επιλέγει τον παραλήπτη/αποστολέα για τον αποστολέα/παραλήπτη που το ζητάει και ενημερώνει επίσης δύο κόμβους. Από την άλλη μεριά, όταν η πληροφορία είναι κατανεμημένη μερικώς ή ολικώς σε διάφορους κόμβους του συστήματος η επιλογή του κατάλληλου παραλήπτη/ αποστολέα γίνεται από τον ίδιο τον κόμβο που ζητάει την μεταφορά του task. Η πολιτικές θέσεις μπορούν να ταξινομηθούν σε δύο βασικές κλάσεις: senderinitiated και receiver-initated. Στις sender-initiated, οι υπερφορτωμένοι κόμβοι προσπαθούν να μεταφέρουν tasks στους λιγότερο φορτωμένους κόμβους. Στις receiver-initiated οι λιγότερο φορτωμένοι κόμβοι ψάχνουν για υπερφορτωμένους κόμβους από τους οποίους θα μπορούσαν να μεταφέρουν tasks. Οι συγγραφείς του [2] δείχνουν όταν χρησιμοποιείται η πολιτική χρονοπρογραμματισμού FCFS, οι sender-initiated πολιτικές αποδίδουν καλύτερα για μέτριο φόρτο στο σύστημα. Αυτό συμβαίνει επειδή η πιθανότητα να βρεθεί επίσης ελαφρά φορτωμένος κόμβος είναι μεγαλύτερη από ότι να βρεθεί επίσης υπερφορτωμένος κόμβος. Σε υψηλούς φόρτους επίσης, ισχύει το αντίθετο και οι reveiver-initiated πολιτικές αποδίδουν καλύτερα. Έχουν προταθεί επίσης πολιτικές που συνδυάζουν τα καλά χαρακτηριστικά των δύο κατηγοριών [3][31] Παραδείγματα Πολιτικών Την τελευταία δεκαετία έχουν προταθεί πολλές πολιτικές για διαμοιρασμό φόρτου. Στην ενότητα περιγράφουμε ενδεικτικά κάποιες βασικές πολιτικές που αποτελούν την βάση άλλων πιο πολύπλοκων αλγορίθμων διαμοιρασμού φόρτου. Οι πολιτικές αυτές συνδυάζουν ταυτόχρονα τις πολιτικές πληροφόρησης και τοποθεσίας, οι οποίες αποτελούν το πιο σημαντικό τμήμα ενός αλγορίθμου διαμοιρασμού φόρτου. Random Είναι ο πιο απλός αλγόριθμος διαμοιρασμού φόρτου καθώς δεν χρησιμοποιεί καμιά πληροφορία για τον φόρτο των άλλων κόμβων. Όταν αποφασιστεί ότι πρέπει να γίνει μεταφορά ενός task, το επιθυμητό task

22 Κεφάλαιο 1 Εισαγωγή μεταφέρεται σε έναν τυχαία επιλεγμένο κόμβο. Ο Random έχει μελετηθεί στα [32] και [33], και παρουσιάζει πολύ καλή βελτίωση στην απόδοση του συστήματος για χαμηλούς και μέτριους φόρτους στο σύστημα. Οι συγγραφείς του [32] εισήγαγαν ένα όριο μεταφοράς L t το οποίο παρέχει ένα όριο στο πόσες φορές μπορεί να μεταφερθεί ένα task και αποτρέπει τυχόν αστάθειες. Cyclic Σύμφωνα με τον αλγόριθμο αυτό τα tasks μεταφέρονται στους απομακρυσμένους επεξεργαστές με κυκλικό τρόπο. Η μόνη πληροφορία που πρέπει να αποθηκευτεί είναι το αναγνωριστικό του τελευταίου κόμβου στον οποίο στάλθηκε το task. Η προσομοίωση ενός τέτοιου αλγορίθμου έδειξε μια μικρή βελτίωση συγκριτικά με τον Random [28]. Threshold Ο αλγόριθμος αυτός χρησιμοποιεί την τεχνική της βολιδοσκόπησης. Όταν πρέπει να γίνει μια μεταφορά, ένας τυχαία επιλεγμένος κόμβος διερωτάται για το τον φόρτο του. Αν ο φόρτος είναι μικρότερος από ένα κατώφλι T, το task μεταφέρεται σε αυτόν. Αλλιώς, η διαδικασία επαναλαμβάνεται σε άλλο κόμβο. Αν δεν βρεθεί κάποιος κατάλληλος παραλήπτης μετά από L p προσπάθειες, το task εκτελείται τοπικά. Least Είναι μια παραλλαγή του Threshold, όπου συστηματικά βολιδοσκοπούνται L p κόμβοι και ο κόμβος με τον μικρότερο φόρτο επιλέγεται ως ο παραλήπτης του task. Οι δύο αυτοί αλγόριθμοι παρουσιάζουν πολύ καλή απόδοση σε σχέση με την απλότητα τους [28]. Επίσης οι δείκτες φόρτου που χρησιμοποιούν είναι πάντα ενημερωμένοι και έτσι είναι απίθανο να συμβεί μια λανθασμένη επιλογή παραλήπτη. Η επίδραση των τιμών T και L p μελετάται στα [32] και [33]. Reception [27][2] Είναι παρόμοιος με τον Threshold, αλλά οδηγείται από τους διαθέσιμους και όχι από τους υπερφορτωμένους κόμβους. Όταν ο φόρτος ενός κόμβος πέσει κάτω από ένα κατώφλι, ο κόμβος αυτός προσπαθεί να βρει έναν υπερφορτωμένο κόμβο με τυχαία βολιδοσκόπηση. Central Όταν ένας υπερφορτωμένος κόμβος επιθυμεί να μεταφέρει ένα task, ζητάει από έναν κεντρικό εξυπηρέτη να τον πληροφορήσει σχετικά με κάποιον μη φορτωμένο κόμβο, αν υπάρχει. Ο κεντρικός εξυπηρέτης ενημερώνεται για την διαθεσιμότητα των κόμβων μέσω μηνυμάτων που

23 Κεφάλαιο 1 Εισαγωγή στέλνονται σε αυτόν από κάθε κόμβο του συστήματος. Έχουν προταθεί διάφορες παραλλαγές του Central: κάθε κόμβος στέλνει είτε περιοδικά την πληροφορία για τον φόρτο του [34] είτε μόνο όταν ο φόρτος έχει αλλάξει σημαντικά κατά μια ποσότητα [35]. Με παρόμοιο τρόπο ο Central μπορεί να υλοποιηθεί και ως reveiver-initiated αλγόριθμος όπου οι μη-φορτωμένοι κόμβοι ζητούν από τον κεντρικό εξυπηρέτη να τους πληροφορήσει σχετικά με τους υπερφορτωμένους κόμβους του συστήματος. Υπάρχουν δύο πιθανά μειονεκτήματα σχετικά με τις κεντρικούς αλγορίθμους διαμοιρασμού φόρτου: α) Ο κεντρικός εξυπηρέτης μπορεί να είναι ένα σημείο συμφόρησης και επομένως καθυστέρησης, β) μια βλάβη στον εξυπηρέτη καθιστά αδύνατο τον διαμοιρασμό του φόρτου και ο απαραίτητος χρόνος για επιδιόρθωση μπορεί να είναι μεγάλος [18]. Global [23][33] Στον Global η συγκέντρωση της πληροφορίας είναι κεντρική και η χρήση της (απόφαση μεταφοράς) κατανεμημένη. Ο εξυπηρέτης εκπέμπει (broadcast) περιοδικά το διάνυσμα του φόρτου του συστήματος. Με τον τρόπο αυτό ένας υπερφορτωμένος κόμβος βρίσκει τον λιγότερο φορτωμένο κόμβο βασισμένος στο δικό του διάνυσμα χωρίς να χρειάζεται να ρωτήσει τον εξυπηρέτη. Στην έκδοση που μελετάται στο [33] επιλέγεται για παραλήπτης του task που πρόκειται να μεταφερθεί ένας κόμβος του οποίου ο φόρτος είναι μικρότερος από του αποστολέα τουλάχιστον κατά μια ποσότητα Δ. Αν πολλοί κόμβοι έχουν τον ίδιο χαμηλό φόρτο επιλέγεται ένας από αυτούς τυχαία. Ο αλγόριθμος αυτός είναι πιο αποδοτικός από τον Central, γιατί περιλαμβάνει μικρότερο αριθμό μηνυμάτων. Επίσης είναι πιο σταθερός καθώς κατά την διάρκεια επιδιόρθωσης του εξυπηρέτη η δυνατότητα διαμοιρασμού του φόρτου είναι ακόμη διαθέσιμη, έστω και με τις παλιές τιμές φόρτου. Request [29][35] Στον αλγόριθμο αυτό η συγκέντρωση της πληροφορίας είναι κατανεμημένη και η χρήση της (απόφαση μεταφοράς) επίσης κατανεμημένη. O Request είναι παρόμοιος με τον Least, με την διαφορά ότι βολιδοσκοπούνται όλοι οι κόμβοι του συστήματος και ότι η βολιδοσκόπηση γίνεται με ένα broadcast μήνυμα. Η κλιμάκωση ενός τέτοιου συστήματος είναι μόλις υποφερτή. Επιπλέον, μπορούν να συμβούν υπερχειλίσεις των buffers αν παραληφθεί ταυτόχρονα ένας μεγάλος αριθμός απαντήσεων. Οι συγγραφείς

24 Κεφάλαιο 1 Εισαγωγή του [35] προτείνουν μια παραλλαγή του όπου μόνο οι κόμβοι με εύλογο φόρτο απαντούν στα μηνύματα αυτά και η απάντηση καθυστερείται για ένα μικρό χρονικό διάστημα που αυξάνεται όσο αυξάνεται ο τοπικός φόρτος, έτσι ώστε οι πρώτες απαντήσεις που θα φτάσουν στον αποστολέα να είναι πιθανόν και οι πιο ενδιαφέρουσες. Στην περίπτωση αυτή ο Request αποδίδει παρόμοια με τον Central [18]

25 Κεφάλαιο 1 Εισαγωγή 1.3 Χρονοπρογραμματισμός σε Clusters Η αυξημένη απόδοση και το μειωμένο κόστος των εμπορικών δικτυακών προϊόντων καθιστά τα clusters ελκυστικές πλατφόρμες για υψηλή υπολογιστική ισχύ. Μεγάλα clusters έχουν αναπτυχθεί για την υποστήριξη εφαρμογών με υψηλές υπολογιστικές απαιτήσεις, και επομένως ο χρονοπρογραμματισμός και η διαχείριση των πόρων των clusters είναι απαραίτητος. Τα clusters είναι αναμφισβήτητα σήμερα είναι η πιο κατάλληλη πλατφόρμα για τις περισσότερες επιστημονικές, εμπορικές και βιομηχανικές εφαρμογές. Είναι δημοφιλή για πολλούς λόγους: η μεγάλη αποδοτικότητα κόστους, η μεγάλη διαθεσιμότητα έτοιμου υλικού και λογισμικού, η ευκολία εγκατάστασης και προσαρμογής, η υιοθέτηση τυπικών πρακτικών και η ολοένα αυξανόμενη κοινότητα χρηστών. Υπάρχει ήδη μια αρκετά μεγάλη έρευνα σχετικά με τον χρονοπρογραμματισμό στα clusters. Μερικά παραδείγματα περιγράφονται στην ενότητα αυτή [1][2][39]. Ο συγγραφέας του [36] μελετά την απόδοση μιας ιεραρχικής πολιτικής χρονοπρογραμματισμού για συστήματα clusters, η οποία περιλαμβάνει ένα στοιχείο διαμοιρασμού φόρτου για να αντιμετωπίσει τις τοπικές διακυμάνσεις του φόρτου. Επίσης, οι συγγραφείς του [37] μελετούν πολιτικές διαμοιρασμού του φόρτου για fine-grain δικτυακές υπηρεσίες. Οι fine-grain υπηρεσίες εισάγουν επιπλέον προκλήσεις σε σύγκριση με τις coarse-grain υπηρεσίες, επειδή η κατάσταση του συστήματος μεταβάλλεται γρήγορα στην πρώτη περίπτωση και η απόδοση του είναι εξαιρετικά ευαίσθητη στα διάφορα overheads. Οι συγγραφείς συμπεραίνουν ότι α) οι πολιτικές που βασίζονται στην τυχαία βολιδοσκόπηση αποδίδουν καλύτερα για finegrain υπηρεσίες, β) ένα μικρός αριθμός βολιδοσκοπήσεων παρέχει αρκετή πληροφορία για τον διαμοιρασμό του φόρτου, ενώ ένας εξαιρετικά μεγάλος αριθμός βολιδοσκοπήσεων μπορεί να μειώσει την απόδοση λόγω του αυξημένου overhead, και γ) η απόρριψη των καθυστερημένων απαντήσεων μπορεί να βελτιώσει περαιτέρω την απόδοση του συστήματος. Ένας πιθανός τρόπος για τον αποτελεσματικό χρονοπρογραμματισμό παράλληλων εργασιών σε ένα σύστημα πολλαπλών clusters (multi-cluster) είναι να εφαρμοστεί η τεχνική του co-allocation. Αντί να γίνεται τοπικός χρονοπρογραμματισμός των εργασιών στο cluster στο οποίο έχουν υποβληθεί αρχικά, τα tasks των παράλληλων εργασιών χρονοπρογραμματίζονται σε διαφορετικά clusters. Παρ όλο

26 Κεφάλαιο 1 Εισαγωγή που μια τέτοια απόφαση θα οδηγήσει σε μεγαλύτερες καθυστερήσεις για την εργασία, καθώς η επικοινωνία μεταξύ των clusters (inter-cluster) είναι πιο αργή από ότι η επικοινωνία μεταξύ των κόμβων του ίδιου τοπικού cluster, η εργασία μπορεί να έχει το πλεονέκτημα ότι θα ξεκινήσει να εκτελείται νωρίτερα. Οι συγγραφείς του [38] δείχνουν ότι η τεχνική του co-allocation μπορεί να είναι επικερδής ακόμα και όταν η ταχύτητα επικοινωνίας μεταξύ των clusters είναι αρκετά χαμηλή σε σύγκριση με την ταχύτητα επικοινωνίας μεταξύ των κόμβων ενός cluster. Στόχος της συγκεκριμένης εργασίας είναι να μελετήσει την απόδοση και την συμπεριφορά ενός συστήματος δύο clusters στο οποίο εφαρμόζονται διαφορετικές πολιτικές ανάθεσης των tasks στους επεξεργαστές κάθε cluster, ενώ παράλληλα εφαρμόζεται μια πολιτική διαμοιρασμού του φόρτου στο σύστημα που έχει ως στόχο την εξισορρόπηση του φόρτου τόσο εσωτερικά σε κάθε cluster όσο και μεταξύ των δύο clusters. Έτσι tasks που ανήκουν στον τοπικό φόρτο ενός cluster μπορούν να μεταναστεύουν σε επεξεργαστές τόσο του ίδιου όσο και του απομακρυσμένου cluster ώστε να ξεκινήσουν να εκτελούνται νωρίτερα. Στο επόμενο κεφάλαιο περιγράφεται αναλυτικά το μοντέλο το συστήματος καθώς επίσης και οι διάφορες πολιτικές που μελετώνται

27 2. Μοντέλο προσομοίωσης και πειραματική μεθοδολογία 2.1 Σύστημα και μοντέλα φόρτου εργασιών Θεωρούμε ένα μοντέλο ανοιχτού δικτύου ουρών ενός συστήματος κατανεμημένων εξυπηρετών [6][39][4][41]. Οι όροι εξυπηρέτες και επεξεργαστές χρησιμοποιούνται εναλλάξ στην παρούσα εργασία. Το σύστημα αποτελείται από δυο ομάδες (clusters) P ανεξάρτητων και ομοιογενών επεξεργαστών, όπου ο καθένας εξυπηρετεί την δική του ουρά. Ένα δίκτυο υψηλής ταχύτητας συνδέει τους κατανεμημένους κόμβους με αμελητέες καθυστερήσεις επικοινωνίας. Το σύστημα εξετάζεται για P = 16 επεξεργαστές, το οποίο είναι λογικό για τα υπάρχοντα μεσαίαςκλίμακας δίκτυα σταθμών εργασίας. Στο σύστημα υπάρχουν δύο ανεξάρτητα ρεύματα αφίξεως, ένα για κάθε cluster. Κάθε ρεύμα καταλήγει σε έναν διανεμητή (dispatcher), ο οποίος εκτελεί την λειτουργία ανάθεσης των εργασιών (jobs) στις ουρές του αντίστοιχου cluster με βάση κάποια πολιτική δρομολόγησης. μ μ 1 2 λ 1 D.. μ P D: Task Dispatcher μ μ 1 2 λ 2 D.. μ P Εικόνα 2.1. Το μοντέλο δικτύου ουρών

28 Κεφάλαιο 2 Μοντέλο προσομοίωσης και πειραματική μεθοδολογία Θεωρούμε ότι οι εργασίες διαιρούνται σε ανεξάρτητα tasks τα οποία μπορούν να εκτελεστούν παράλληλα, οποιαδήποτε χρονική στιγμή, με οποιαδήποτε σειρά και σε οποιονδήποτε επεξεργαστή. Ο αριθμός των tasks από τα οποία αποτελείται μια εργασία ορίζει τον βαθμό παραλληλισμού της εργασίας αυτής. Μια εργασία ολοκληρώνεται όταν εκτελεστούν όλα τα tasks της, απαιτείται επομένως συγχρονισμός μεταξύ των tasks. Έτσι, το κόστος του αυξημένου παραλληλισμού είναι οι καθυστερήσεις συγχρονισμού που συμβαίνουν όταν τα tasks περιμένουν για την ολοκλήρωση των συγγενικών τους tasks. Ο αριθμός των tasks μιας εργασίας x εκφράζεται ως tx ( ). Αν το px ( ) εκφράζει τον αριθμό των επεξεργαστών που απαιτούνται από την εργασία x, τότε ισχύει η παρακάτω σχέση: px ( ) tx ( ) P Η διαίσθηση και η εμπειρία δείχνει ότι η καλύτερη απόδοση του συστήματος μπορεί να επιτευχθεί μέσω μιας ισορροπημένης χρησιμοποίησης των διαθέσιμων πόρων, έτσι ώστε να αποφεύγεται η υπερφόρτωση ή υπο-χρησιμοποίηση μερικών πόρων. Είναι εύλογο να θεωρούμε ότι μια βέλτιστη πολιτική εξισορρόπησης του φόρτου θα προσπαθεί να εξισώσει την χρησιμοποίηση των επεξεργαστών. Οι πολιτικές ανάθεσης των tasks που εξετάζονται στο σύστημα είναι πιθανοκρατικές, ντετερμινιστικές και δυναμικές. Στην δυναμική περίπτωση, εφαρμόζεται η πολιτική της μετανάστευσης των tasks. Σύμφωνα με την πολιτική αυτή, όταν ένας επεξεργαστής γίνει ανενεργός μεταφέρεται ένα μεταναστεύσιμο task από την ουρά του πιο φορτωμένου επεξεργαστή του τοπικού ή του απομακρυσμένου cluster. Λεπτομερής περιγραφή για την πολιτική της μετανάστευσης δίνεται παρακάτω. Η πολιτική αυτή αποτελεί μια προσαρμοστική μέθοδο διαμοιρασμού του φόρτου, η οποία είναι προσανατολισμένη στον παραλήπτη (receiver-initiated) και έχει ως στόχο να εξισώσει την χρησιμοποίηση μεταξύ των επεξεργαστών ενός cluster αλλά και την χρησιμοποίηση μεταξύ των δύο cluster. Έτσι, tasks τα οποία ανήκουν στο πρώτο ρεύμα άφιξης μπορούν να εκτελεστούν από επεξεργαστές του δεύτερου cluster και αντίστροφα. Στο σύστημα επιτρέπονται μόνο μεταναστεύσεις tasks των οποίων η εκτέλεση δεν έχει ξεκινήσει. Δεν είναι επιθυμητή η μεταφορά tasks τα οποία έχουν ξεκινήσει να εκτελούνται λόγω θεμάτων πολυπλοκότητας που αναφέραμε στην Ενότητα

29 Κεφάλαιο 2 Μοντέλο προσομοίωσης και πειραματική μεθοδολογία Ένα προφανές μειονέκτημα της προεκτοπιστικής μετανάστευσης είναι η απαίτηση για μεταφορά της μνήμης που σχετίζεται με την διεργασία που μεταναστεύει. Έτσι, το κόστος της μετανάστευσης για τις ενεργές διεργασίες μπορεί να είναι μεγαλύτερο από το κόστος της απομακρυσμένης εκτέλεσης. Όταν ένα task μεταφέρεται από ένα επεξεργαστή σε έναν άλλο επιφέρει κάποιο κόστος επικοινωνίας. Θεωρούμε ότι το κόστος επικοινωνίας για τοπικές μεταναστεύσεις είναι μικρότερο από το κόστος για τις απομακρυσμένες μεταναστεύσεις. Θεωρούμε επίσης ότι αυτό το μέσο κόστος μεταφοράς των tasks είναι σχετικά μικρό, αλλά όχι αμελητέο, σε σύγκριση με το μέσο κόστος επεξεργασίας των tasks. Ο φόρτος εργασίας του συστήματος που εξετάζουμε χαρακτηρίζεται από τις εξής παραμέτρους: Την κατανομή του αριθμού των tasks από τα οποία αποτελείται ένα job. Την κατανομή των αφίξεων των εργασιών στο σύστημα. Την κατανομή του χρόνου εξυπηρέτησης των tasks. Την κατανομή του overhead των τοπικών και των απομακρυσμένων μεταναστεύσεων. Θεωρούμε ότι δεν υπάρχει κανένας συσχετισμός μεταξύ των διαφόρων παραμέτρων. Για παράδειγμα, μια εργασία που αποτελείται από μικρό αριθμό tasks μπορεί να έχει μεγαλύτερο χρόνο εκτέλεσης. Κατανομή του μεγέθους των εργασιών Όπως αναφέρθηκε και προηγουμένως, κάθε εργασία αποτελείται από μια ομάδα από n 1 tasks τα οποία μπορούν να εκτελεστούν παράλληλα. Ο αριθμός των tasks καθορίζει τον βαθμό παραλληλισμού της εργασίας. Θεωρούμε ότι τα tasks κατανέμονται ομοιόμορφα στην περιοχή [1 P]. Επιλέξαμε την ομοιόμορφη κατανομή επειδή είναι μια από τις κατανομές που χρησιμοποιούνται σε μοντέλα αυτού του τύπου. Ο μέσος αριθμός των tasks για κάθε εργασία είναι ίσος με η = (1+P) /

Εισαγωγή στην Πληροφορική. Αντώνης Σταµατάκης

Εισαγωγή στην Πληροφορική. Αντώνης Σταµατάκης Εισαγωγή στην Πληροφορική Α σ κ ή σ ε ι ς σ τ η ν Χ ρ ο ν ο δ ρ ο µ ο λ ό γ η σ η ς Αντώνης Σταµατάκης Αλγόριθµοι Χρονοδροµολόγησης (1/5) Υπάρχουν διάφοροι αλγόριθµοι χρονοδροµολόγησης της κεντρικής µονάδας

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

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης Μάθημα 7 ο Αλγόριθμοι Χρονοδρομολόγησης Σκοπός του μαθήματος Στην ενότητα αυτή θα εξηγήσουμε το ρόλο και την αξιολόγηση των αλγορίθμων χρονοδρομολόγησης, και θα παρουσιάσουμε τους κυριότερους. Θα μάθουμε:

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

Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης

Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης 7.1 Ορισμός Στόχοι Αλγόριθμο χρονοδρομολόγησης (scheduling algorithm) ονομάζουμε την μεθοδολογία την οποία χρησιμοποιεί ο κάθε χρονοδρομολογητής (βραχυχρόνιος, μεσοχρόνιος

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

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση Εργαστηριακή Άσκηση Οι Αλγόριθμοι Χρονοπρογραμματισμού First Come First Serve (FCFS), Shortest Job First (SJF), Round Robin (RR), Priority Weighted (PRI) Επιμέλεια: Βασίλης Τσακανίκας Περιεχόμενα Αλγόριθμοι

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

Λειτουργικά Συστήματα (Λ/Σ)

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Κεντρικής Μονάδας Επεξεργασίας (CPU) Βασίλης Σακκάς 4/12/2013 1 Xρονοδρομολόγηση Διεργασιών 1 Η χρονοδρομολόγηση σε ένα Λ/Σ αποφασίζει ποια διεργασία θα χρησιμοποιεί

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

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

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

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

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC Αρχιτεκτονική Πλατφόρμας Μπορεί να μοντελοποιηθεί σαν ένα σύνολο από διασυνδεδεμένα κομμάτια: 1. Στοιχεία επεξεργασίας (processing

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

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Μάθημα: ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) 1 Συμβαίνει συχνά πολλές διεργασίες να ανταγωνίζονται για τον έλεγχο

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις Υλικό από: Κ Διαμαντάρας, Λειτουργικά Συστήματα, Τμήμα Πληροφορικής ΤΕΙΘ Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο

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

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 Χρονοδρομολογητής ή χρονοπρογραμματιστής (scheduler) είναι το τμήμα του Λ.Σ.

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

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκων: Επ. Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 Χρονοδρομολογητής ή χρονοπρογραμματιστής (scheduler) είναι το τμήμα του

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

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου ΣΥΣΤΗΜΑΤΑ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ Μάθημα Επιλογής Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου Δρ. Γεώργιος Κεραμίδας e-mail: gkeramidas@teimes.gr 1 Διεργασίες: Κατάσταση Εκτέλεσης (3-σταδίων) Κατάσταση

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

Εργαστηριακή Άσκηση. Τμήμα Μηχανικών Πληροφορικής ΤΕ

Εργαστηριακή Άσκηση. Τμήμα Μηχανικών Πληροφορικής ΤΕ Εργαστηριακή Άσκηση Εργαστήριο Λειτουργικών Συστημάτων Οι First Come First Serve (FCFS), Shortest Job First (SJF), Round Robin (RR), Priority Weighted (PRI) Β. Τσακανίκας Β. Ταμπακάς Τμήμα Μηχανικών Πληροφορικής

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

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

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

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

Δρομολόγηση σε σύστημα ενός επεξεργαστή

Δρομολόγηση σε σύστημα ενός επεξεργαστή Δρομολόγηση σε σύστημα ενός επεξεργαστή 1. Εισαγωγή 2. Κριτήρια αποτίμησης της απόδοσης 3. Κριτήρια βελτιστοποίησης 4. Τύποι δρομολόγησης του επεξεργαστή 5. Ο κύκλος καταιγισμού CPU-I/O 6. Πολιτικές δρομολόγησης

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

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Πλεονεκτήματα MPSoC Είναι ευκολότερο να σχεδιαστούν πολλαπλοί πυρήνες επεξεργαστών από τον σχεδιασμό ενός ισχυρότερου και πολύ πιο σύνθετου μονού επεξεργαστή.

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

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

ΠΑΡΑΔΕΙΓΜΑ ΣΤΟ BIZAGI ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ & ΑΥΤΟΔΙΟΙΚΗΣΗΣ Ανάλυση - Προσομοίωση ΠΑΡΑΔΕΙΓΜΑ ΣΤΟ BIZAGI ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ & ΑΥΤΟΔΙΟΙΚΗΣΗΣ 1 Προσομοίωση Η προσομοίωση είναι μέθοδος μελέτης ενός συστήματος και εξοικείωσης με τα χαρακτηριστικά του με

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

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ (Kεφ. 10) ΡΟΜΟΛΟΓΗΣΗ Χαρακτηριστικά Στρατηγικές ροµολόγησης Παραδείγµατα Βιβλίο Μαθήµατος: Επικοινωνίες Υπολογιστών & εδοµένων, William Stallings, 6/e, 2000. ΕΥ - κεφ.10 (2/3)

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

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

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

«ροµολόγηση ιεργασιών (2/2): Οργάνωση Επεξεργαστών και ιεργασιών (β)»

«ροµολόγηση ιεργασιών (2/2): Οργάνωση Επεξεργαστών και ιεργασιών (β)» Εισαγωγή Ε-03: Λειτουργικά Συστήµατα ΙΙ Εαρινό Εξάµηνο 2005-06 «ροµολόγηση ιεργασιών (2/2): Οργάνωση Επεξεργαστών και ιεργασιών (β)» Οργάνωση επεξεργαστών Πολιτικές καταχώρισης επεξεργαστών Προσέγγιση

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

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

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

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

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών Διαφάνεια 1 Δρομολόγηση Εισαγωγή Ιεραρχική δρομολόγηση

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

Εργαστήριο Διοίκησης Παραγωγής & Έργων. Εισαγωγή στην προσομοίωση διεργασιών χρησιμοποιώντας το λογισμικό Extend

Εργαστήριο Διοίκησης Παραγωγής & Έργων. Εισαγωγή στην προσομοίωση διεργασιών χρησιμοποιώντας το λογισμικό Extend Εργαστήριο Διοίκησης Παραγωγής & Έργων Εισαγωγή στην προσομοίωση διεργασιών χρησιμοποιώντας το λογισμικό Extend ΕΠΙΣΚΟΠΗΣΗ ΤΟΥ EXTEND Το Extend είναι ένα λογισμικό εικονικής προσομοίωσης που μπορεί να

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

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 9 «Δρομολόγηση Διεργασιών» Διδάσκων: Δ, Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Δρομολόγηση σε σύστημα ενός επεξεργαστή 1. Εισαγωγή 2. Κριτήρια αποτίμησης της απόδοσης

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

«ροµολόγηση ιεργασιών (2/2): Οργάνωση Επεξεργαστών και ιεργασιών (α)» Εργασία

«ροµολόγηση ιεργασιών (2/2): Οργάνωση Επεξεργαστών και ιεργασιών (α)» Εργασία Εισαγωγή Ε-03: Λειτουργικά Συστήµατα ΙΙ Εαρινό Εξάµηνο 2005-06 «ροµολόγηση ιεργασιών (2/2): Οργάνωση Επεξεργαστών και ιεργασιών (α)» Οργάνωση επεξεργαστών Πολιτικές καταχώρισης επεξεργαστών Προσέγγιση

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

Μάθημα 6 ο. Χρονοδρομολόγηση (Scheduling)

Μάθημα 6 ο. Χρονοδρομολόγηση (Scheduling) Μάθημα 6 ο Χρονοδρομολόγηση (Scheduling) Σκοπός του μαθήματος Στην ενότητα αυτή θα εξηγήσουμε το ρόλο και τη λειτουργία της χρονοδρομολόγησης σε ένα Λειτουργικό Σύστημα. Θα μάθουμε: Να ορίζουμε τι είναι

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

Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση

Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση ΕΠΛ222: Λειτουργικά Συστήματα (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Operating Systems: Internals and Design Principles, 8/E, William Stallings) Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση Οι διαφάνειες

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

Δρομολόγηση (Routing)

Δρομολόγηση (Routing) Δρομολόγηση (Routing) Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναμικός Προγραμματισμός ijkstra s Algorithm Αλγόριθμοi Δρομολόγησης Link State istance Vector Δρομολόγηση σε Κινητά Δίκτυα Δρομολόγηση

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΕΡΓΑΣΙΩΝ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟ ΛΟΓΙΣΜΙΚΟ EXTEND. 1 ο εργαστήριο Διοίκησης και Παραγωγής Έργων

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΕΡΓΑΣΙΩΝ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟ ΛΟΓΙΣΜΙΚΟ EXTEND. 1 ο εργαστήριο Διοίκησης και Παραγωγής Έργων ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΕΡΓΑΣΙΩΝ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟ ΛΟΓΙΣΜΙΚΟ EXTEND 1 ο εργαστήριο Διοίκησης και Παραγωγής Έργων ΙΣΤΟΤΟΠΟΣ ΕΡΓΑΣΤΗΡΙΟΥ http://www.mech.upatras.gr/~adamides/dpe ΠΡΟΣΟΜΟΙΩΣΗ Η τεχνική

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

7.9 ροµολόγηση. Ερωτήσεις

7.9 ροµολόγηση. Ερωτήσεις 7.9 ροµολόγηση Ερωτήσεις 1. Να δώσετε τον ορισµό της δροµολόγησης; 2. Από τι εξαρτάται η χρονική στιγµή στην οποία λαµβάνονται οι αποφάσεις δροµολόγησης; Να αναφέρετε ποια είναι αυτή στην περίπτωση των

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

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

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

ENOTHTA 5 XPONO POMOΛOΓHΣH

ENOTHTA 5 XPONO POMOΛOΓHΣH ENOTHTA 5 Περιεχόµενα 1. Xρονοδροµολόγηση 2. Eίδη χρονοδροµολόγησης 3. Στόχοι και κριτήρια της χρονοδροµολόγησης 4. Tαξινόµηση αλγόριθµων χρονοδροµολόγησης 5. Xρονοδροµολόγηση µε βάση τον χρόνο εισόδου

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

Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής

Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Γιάννης Γαροφαλάκης Αν. Καθηγητής ιατύπωση του προβλήματος (1) Τα συστήματα αναμονής (queueing systems), βρίσκονται

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

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Λειτουργικά Συστήματα Ενότητα 12 : Δρομολόγηση Διεργασιών 2/3 Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Μηχανικών Πληροφορικής

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

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

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

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

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

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Μοντελοποίηση και προσομοίωση πολιτικών χρονοδρομολόγησης παράλληλων εργασιών σε πολλαπλά sites στο Grid Modeling and simulation

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

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams Αλέκα Σεληνιωτάκη Ηράκλειο, 26/06/12 aseliniotaki@csd.uoc.gr ΑΜ: 703 1. Περίληψη Συνεισφοράς

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

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι. Σημειώσεις Θεωρίας

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι. Σημειώσεις Θεωρίας Ινστιτούτα Επαγγελματική Κατάρτισης ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι Σημειώσεις Θεωρίας Επιμέλεια: Ματθές Δημήτριος Αθήνα 2017 Μάθημα 1: Βασικές Έννοιες στα Δίκτυα Υπολογιστών 1.1 Δίκτυο Υπολογιστών Ένα δίκτυο είναι

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

ιαµέριση - Partitioning

ιαµέριση - Partitioning ιαµέριση - Partitioning ιαµέριση ιαµέριση είναι η διαµοίραση αντικειµένων σε οµάδες µε στόχο την βελτιστοποίηση κάποιας συνάρτησης. Στην σύνθεση η διαµέριση χρησιµοποιείται ως εξής: Οµαδοποίηση µεταβλητών

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

Εγγυημένη ποιότητα υπηρεσίας

Εγγυημένη ποιότητα υπηρεσίας Εγγυημένη ποιότητα υπηρεσίας Απαιτήσεις ποιότητας υπηρεσίας Μηχανισμοί κατηγοριοποίησης Χρονοπρογραμματισμός Μηχανισμοί αστυνόμευσης Ενοποιημένες υπηρεσίες Διαφοροποιημένες υπηρεσίες Τεχνολογία Πολυμέσων

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

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εφαρμογές Κλειστών Δικτύων Ουρών Markov: 1. Ανάλυση Window Flow Control σε Δίκτυα Υπολογιστών 2. Αξιολόγηση Συστημάτων Πολύ-προγραμματισμού (Multitasking) Γενίκευση Μοντέλων

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

ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ

ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ Ενότητα: Αναγνώριση Διεργασίας - Προσαρμοστικός Έλεγχος (Process Identification) Αλαφοδήμος Κωνσταντίνος

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση

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

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

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

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Λειτουργικά Συστήματα Ενότητα 11 : Δρομολόγηση Διεργασιών 1/3 Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Μηχανικών Πληροφορικής

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

Λιβανός Γιώργος Εξάμηνο 2017Β

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Το Λ.Σ. είναι υπεύθυνο για την κατανομή των πόρων του συστήματος (επεξεργαστές, μνήμη, αποθηκευτικά μέσα και συσκευές εισόδου/εξόδου) στα διάφορα ανταγωνιζόμενα προγράμματα

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

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

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

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

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Άσκηση Προσομοίωσης Στατιστικές Εξόδου Ουράς Μ/Μ/1 - Θεώρημα Burke Ανοικτά Δίκτυα Ουρών Μ/Μ/1 - Θεώρημα Jackson

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Άσκηση Προσομοίωσης Στατιστικές Εξόδου Ουράς Μ/Μ/1 - Θεώρημα Burke Ανοικτά Δίκτυα Ουρών Μ/Μ/1 - Θεώρημα Jackson ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Άσκηση Προσομοίωσης Στατιστικές Εξόδου Ουράς Μ/Μ/1 - Θεώρημα Burke Ανοικτά Δίκτυα Ουρών Μ/Μ/1 - Θεώρημα Jackson Βασίλης Μάγκλαρης maglaris@netmode.ntua.gr 26/4/2017 ΠΡΟΣΟΜΟΙΩΣΗ

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

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 7 «Διαχείριση Μνήμης» Διδάσκων: Δ. Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Κύρια Μνήμη 1. Εισαγωγή 2. Βασική διαχείριση μνήμης 3. Μνήμη και πολυπρογραμματισμός 4. Τμηματοποίηση

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

Συστήματα σε Ολοκληρωμένα Κυκλώματα

Συστήματα σε Ολοκληρωμένα Κυκλώματα Συστήματα σε Ολοκληρωμένα Κυκλώματα Κεφάλαιο 6: MPSoC Απόδοση, Μοντελοποίηση και Ανάλυση Διδάσκων: Καθηγητής Οδυσσέας Κουφοπαύλου Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών ΕΙΣΑΓΩΓΗ Οι απαιτήσεις

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

Δροµολόγηση (Routing)

Δροµολόγηση (Routing) Δροµολόγηση (Routing) Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναµικός Προγραµµατισµός Dijkstra s Algorithm Αλγόριθµοi Δροµολόγησης Link State Distance Vector Δροµολόγηση σε Κινητά Δίκτυα Δροµολόγηση

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

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

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΣΟΜΟΙΩΣΗ ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗΣ ΔΙΕΡΓΑΣΙΩΝ ΣΤΟ GRID ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ της ΓΚΟΥΤΙΟΥΔΗ ΚΥΡΙΑΚΗΣ Προπτυχιακή Φοιτήτρια Τμήματος

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

Πρωτόκολλα Ελέγχου προσπέλασης μέσου

Πρωτόκολλα Ελέγχου προσπέλασης μέσου Πρωτόκολλα Ελέγχου προσπέλασης μέσου Πρόβλημα: ταυτόχρονη μετάδοση δύο ή περισσότερων κόμβων στο ίδιο κανάλι (μήκος κύματος). Ένα τέτοιο γεγονός ονομάζεται σύγκρουση. Ένα πρωτόκολλο MAC έχει συνήθως ως

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

Χρονοδρομολόγηση Ι Μοντέλα διεργασιών, Προθεσμίες και Αλγόριθμοι

Χρονοδρομολόγηση Ι Μοντέλα διεργασιών, Προθεσμίες και Αλγόριθμοι Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Χρονοδρομολόγηση Ι Μοντέλα διεργασιών, Προθεσμίες και Αλγόριθμοι Μ.Στεφανιδάκης Χρονοδρομολόγηση (scheduling) αλγόριθμος επιλογή (init) READY RUNNING (terminate)

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

Κεφάλαιο 3 Πολυπλεξία

Κεφάλαιο 3 Πολυπλεξία Κεφάλαιο 3 Πολυπλεξία Μάθημα 3.1: Μάθημα 3.2: Μάθημα 3.3: Πολυπλεξία επιμερισμού συχνότητας χρόνου Συγκριτική αξιολόγηση τεχνικών πολυπλεξίας Στατιστική πολυπλεξία Μετάδοση Δεδομένων Δίκτυα Υπολογιστών

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

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING)

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING) ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING) Α. Α. Οικονομίδης Πανεπιστήμιο Μακεδονίας Διασυνδεδεμένο δίκτυο διασύνδεση δικτύων που το καθένα διατηρεί την ταυτότητά του χρησιμοποιώντας ειδικούς μηχανισμούς διασύνδεσης

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

Σκελετός Παρουσίασης

Σκελετός Παρουσίασης Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Σκελετός

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

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

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

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

Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα

Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα 1 Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα εύκολη, τη στιγμή που γνωρίζουμε ότι ένα σύνθετο δίκτυο

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

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95 ΚΕΦΑΛΑΙΟ 4 Τεχνική Ανίχνευσης του ICMP Echo Spoofing Πτυχιακή Εργασία Σελίδα 95 Περιεχόμενα ΕΙΣΑΓΩΓΗ 98 ΜΕΡΟΣ Α: Έλεγχος του Icmp Echo Reply Πακέτου 103 A.1. Ανίχνευση του spoofed Icmp Echo Request Πακέτου.

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

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου 4.1.1 Πρωτόκολλο TCP - Δομή πακέτου 1 / 38 Παράδειγμα Έστω ότι θέλουμε να αποστείλουμε ένα μήνυμα μέσω ηλεκτρονικού ταχυδρομείου. Αρχικά η εφαρμογή χρησιμοποιώντας τα πρωτόκολλα του επιπέδου εφαρμογής

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

Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου

Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου Μ.Στεφανιδάκης Κατανεμημένα συστήματα ελέγχου Α Β διασυνδετικό δίκτυο Γ Δ Ε π.χ. οι επιμέρους

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

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

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

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

Εισαγωγή - ορολογία. Προώθηση (forwarding): Δρομολόγηση (routing):

Εισαγωγή - ορολογία. Προώθηση (forwarding): Δρομολόγηση (routing): Δρομολόγηση Ι Εισαγωγή - ορολογία Προώθηση (forwarding): Οι συσκευές διαδικτύωσης (γέφυρες, δρομολογητές, κ.τ.λ.) προωθούν πακέτα δεδομένων στα κατάλληλα μονοπάτια βάσει των πινάκων δρομολόγησης (routing

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

Κατακερματισμός (Hashing)

Κατακερματισμός (Hashing) Κατακερματισμός (Hashing) O κατακερματισμός είναι μια τεχνική οργάνωσης ενός αρχείου. Είναι αρκετά δημοφιλής μέθοδος για την οργάνωση αρχείων Βάσεων Δεδομένων, καθώς βοηθάει σημαντικά στην γρήγορη αναζήτηση

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

Προχωρημένα Θέματα Προγραμματισμού Δικτύων

Προχωρημένα Θέματα Προγραμματισμού Δικτύων 1 Ελληνική ημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Προχωρημένα Θέματα Προγραμματισμού Δικτύων Ενότητα 9: ΈλεγχοςΡοήςΚλειστούΒρόχου(1) Φώτης Βαρζιώτης 2 Ανοιχτά Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

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

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

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

ροµολόγηση Επεξεργαστή

ροµολόγηση Επεξεργαστή ροµολόγηση Επεξεργαστή Κεφάλαιο 9 Στόχοι της ροµολόγησης Χρόνος Απόκρισης Throughput Αποδοτική χρήση επεξεργαστή Τύποι ροµολόγησης Μακροπρόθεσµη δροµολόγηση Μεσοπρόθεσµη δροµολόγηση Βραχυπρόθεσµη δροµολόγηση

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

ΚΕΦΑΛΑΙΟ 8 ΣΥΜΠΕΡΑΣΜΑΤΑ. 8.1 Εισαγωγή

ΚΕΦΑΛΑΙΟ 8 ΣΥΜΠΕΡΑΣΜΑΤΑ. 8.1 Εισαγωγή ΣΥΜΠΕΡΑΣΜΑΤΑ 8.1 Εισαγωγή Η διατριβή συµβάλλει στην ανάπτυξη µεθόδων παροχής ΠοιΥπ σε DiffServ IP δίκτυα και το επιτυγχάνει µε δύο διαφορετικούς τρόπους: µε την παρουσίαση µεθόδων παροχής ΠοιΥπ που παρέχουν

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

METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα

METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα METROPOLIS Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα Ενσωματωμένα συστήματα Ορίζονται ως ηλεκτρονικά συστήματα τα οποία χρησιμοποιούν υπολογιστές και ηλεκτρονικά υποσυστήματα για να εκτελέσουν

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

Συστήματα Αναμονής. Ενότητα 1: Εισαγωγή. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Συστήματα Αναμονής. Ενότητα 1: Εισαγωγή. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Συστήματα Αναμονής Ενότητα 1: Εισαγωγή Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

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

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 5.1 Επίδοση αλγορίθμων Μέχρι τώρα έχουμε γνωρίσει διάφορους αλγόριθμους (αναζήτησης, ταξινόμησης, κ.α.). Στο σημείο αυτό θα παρουσιάσουμε ένα τρόπο εκτίμησης της επίδοσης (performance) η της αποδοτικότητας

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

Κεφάλαιο 5: Στρατηγική χωροταξικής διάταξης

Κεφάλαιο 5: Στρατηγική χωροταξικής διάταξης K.5.1 Γραμμή Παραγωγής Μια γραμμή παραγωγής θεωρείται μια διάταξη με επίκεντρο το προϊόν, όπου μια σειρά από σταθμούς εργασίας μπαίνουν σε σειρά με στόχο ο κάθε ένας από αυτούς να κάνει μια ή περισσότερες

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

3. Προσομοίωση ενός Συστήματος Αναμονής.

3. Προσομοίωση ενός Συστήματος Αναμονής. 3. Προσομοίωση ενός Συστήματος Αναμονής. 3.1. Διατύπωση του Προβλήματος. Τα συστήματα αναμονής (queueing systems), βρίσκονται πίσω από τα περισσότερα μοντέλα μελέτης της απόδοσης υπολογιστικών συστημάτων,

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

Ο βασικός παράγοντας είναι ο χρόνος αξιοποίησης του επεξεργαστή Ελάχιστος αριθµός πράξεων και όχι µακρόχρονες αιτήσεις Ε/Ε

Ο βασικός παράγοντας είναι ο χρόνος αξιοποίησης του επεξεργαστή Ελάχιστος αριθµός πράξεων και όχι µακρόχρονες αιτήσεις Ε/Ε Εισαγωγή Ε-03: Λειτουργικά Συστήµατα ΙΙ Εαρινό Εξάµηνο 2005-06 «ροµολόγηση ιεργασιών (1/2)» ροµολόγηση σε συστήµατα µε έναν επεξεργαστή ροµολόγηση σε πολυεπεξεργαστικά συστήµατα ροµολόγηση σε κατανεµηµένα

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

ΤΕΙ Κρήτης, Παράρτηµα Χανίων

ΤΕΙ Κρήτης, Παράρτηµα Χανίων ΠΣΕ, Τµήµα Τηλεπικοινωνιών & ικτύων Η/Υ Εργαστήριο ιαδίκτυα & Ενδοδίκτυα Η/Υ ( ηµιουργία συστήµατος µε ροint-tο-ροint σύνδεση) ρ Θεοδώρου Παύλος Χανιά 2003 Περιεχόµενα 1 ΕΙΣΑΓΩΓΗ...2 2 ΤΟ ΚΑΝΑΛΙ PΟINT-TΟ-PΟINT...2

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

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7.7 Πρωτόκολλο Μέχρι τώρα έχουμε αναφέρει, ότι, για να μεταδοθούν τα αυτοδύναμα πακέτα στο φυσικό μέσο, πρέπει αυτά να μετατραπούν σε πακέτα φυσικού δικτύου (π.χ. Ethernet). Όμως, δεν έχει ειπωθεί τίποτε

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

Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός. Ενότητα # 6: Κατανομή φόρτου Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός. Ενότητα # 6: Κατανομή φόρτου Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός Ενότητα # 6: Κατανομή φόρτου Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7.4 Πρωτόκολλο Μέχρι τώρα περιγράψαμε συνδέσεις, που χρησιμοποιούν το πρωτόκολλο TCP. Θυμηθείτε, ότι το TCP είναι υπεύθυνο για το τεμαχισμό των μηνυμάτων σε τμήματα και την επανασύνδεση τους στον προορισμό.

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

Συστήματα σε Ολοκληρωμένα Κυκλώματα

Συστήματα σε Ολοκληρωμένα Κυκλώματα Συστήματα σε Ολοκληρωμένα Κυκλώματα Κεφάλαιο 2: Τεχνικές για Σχεδιασμό Χαμηλής Κατανάλωσης Ισχύος στα MPSoCs Διδάσκων: Καθηγητής Οδυσσέας Κουφοπαύλου Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

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

Κινητά και Διάχυτα Συστήματα. Ενότητα # 10: Κατανομή φόρτου Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Κινητά και Διάχυτα Συστήματα. Ενότητα # 10: Κατανομή φόρτου Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Κινητά και Διάχυτα Συστήματα Ενότητα # 10: Κατανομή φόρτου Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου

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

7. Η ΔΥΝΑΜΙΚΗ ΤΟΥ ΕΡΓΟΣΤΑΣΙΟΥ

7. Η ΔΥΝΑΜΙΚΗ ΤΟΥ ΕΡΓΟΣΤΑΣΙΟΥ 7. Η ΔΥΝΑΜΙΚΗ ΤΟΥ ΕΡΓΟΣΤΑΣΙΟΥ Για να αναπτυχθούν οι βασικές έννοιες της δυναμικής του εργοστασίου εισάγουμε εδώ ορισμένους όρους πέραν αυτών που έχουν ήδη αναφερθεί σε προηγούμενα Κεφάλαια π.χ. είδος,

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

Λειτουργικά Συστήματα Πραγματικού Χρόνου

Λειτουργικά Συστήματα Πραγματικού Χρόνου Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Η χρήση του χρόνου Μ.Στεφανιδάκης Συστήματα πραγματικού χρόνου: ελεγκτής και ελεγχόμενο σύστημα real-time system

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

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή Βασίλης Μάγκλαρης maglaris@netmode.ntua.gr Χρύσα Παπαγιάννη chrisap@noc.ntua.gr 24/2/2016 Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή Οι σηµερινές δραστηριότητες των επιχειρήσεων δηµιουργούν την ανάγκη για όσο το δυνατό µεγαλύτερη υποστήριξη από τα πληροφοριακά τους

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

Χρονοπρογραµµατισµός ΚΜΕ (CPU Scheduling)

Χρονοπρογραµµατισµός ΚΜΕ (CPU Scheduling) Χρονοπρογραµµατισµός ΚΜΕ (CPU Scheduling) Για τη δηµιουργία των διαφανειών έχει χρησιµοποιηθεί υλικό από τις διαφάνειες παραδόσεων που βασίζονται στο βιβλίο, Silberschatz, Galvin and Gagne, Operating Systems

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

Εργαστήριο 9: Άλλες Λειτουργίες στα Δίκτυα Κινητών Επικοινωνιών

Εργαστήριο 9: Άλλες Λειτουργίες στα Δίκτυα Κινητών Επικοινωνιών Εργαστήριο 9: Άλλες Λειτουργίες στα Δίκτυα Κινητών Επικοινωνιών 9.1 Ανάθεση καναλιών (channel allocation) Η κατανομή καναλιών σχετίζεται με την ανάθεση το καναλιών στις κυψέλες ενός κυψελωτού δικτύου.

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

ΕΙΣΑΓΩΓΗ ΣΤΗ ΔΙΑΧΕΙΡΙΣΗ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΓΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗ ΔΙΑΧΕΙΡΙΣΗ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΓΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗ ΔΙΑΧΕΙΡΙΣΗ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΓΩΝ 1. Διαχείριση έργων Τις τελευταίες δεκαετίες παρατηρείται σημαντική αξιοποίηση της διαχείρισης έργων σαν ένα εργαλείο με το οποίο οι διάφορες επιχειρήσεις

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

Τεχνολογία Πολυμέσων. Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.

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

Θέμα 1 (20%) (α) Πότε είναι εργοδικό το παραπάνω σύστημα; Για πεπερασμένο c, το σύστημα είναι πάντα εργοδικό.

Θέμα 1 (20%) (α) Πότε είναι εργοδικό το παραπάνω σύστημα; Για πεπερασμένο c, το σύστημα είναι πάντα εργοδικό. ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Τομέας Επικοινωνιών, Ηλεκτρονικής & Συστημάτων Πληροφορικής Εργαστήριο Διαχείρισης & Βέλτιστου Σχεδιασμού Δικτύων - NETMODE

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

Δίκτυα Υπολογιστών I Εργαστήρια

Δίκτυα Υπολογιστών I Εργαστήρια Δίκτυα Υπολογιστών I Εργαστήρια Άσκηση 7 η Υποεπίπεδο ελέγχου λογικής σύνδεσης Έλεγχος Σφαλμάτων Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Διδάσκων: Παπαπέτρου Ευάγγελος 2 1 Εισαγωγή

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

Μοντελοποίηση, Ανάλυση και Σχεδιασμός Στοχαστικών Συστημάτων

Μοντελοποίηση, Ανάλυση και Σχεδιασμός Στοχαστικών Συστημάτων ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ Μοντελοποίηση, Ανάλυση και Σχεδιασμός Στοχαστικών Συστημάτων Ακαδ. Έτος 2017-2018 Διδάσκων: Βασίλης ΚΟΥΤΡΑΣ Επικ. Καθηγητής

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

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο Αρχές Δικτύων Επικοινωνιών Επικοινωνίες Δεδομένων Μάθημα 4 ο Τα επικοινωνιακά δίκτυα και οι ανάγκες που εξυπηρετούν Για την επικοινωνία δύο συσκευών απαιτείται να υπάρχει μεταξύ τους σύνδεση από σημείο

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

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Εισαγωγή. Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Εισαγωγή. Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Εισαγωγή Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής Περιεχόμενα ενότητας Ορισμός πληροφοριακού συστήματος Κύρια κριτήρια

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

Συστήματα Κοστολόγησης: Κοστολόγηση Συνεχούς Παραγωγής

Συστήματα Κοστολόγησης: Κοστολόγηση Συνεχούς Παραγωγής ΚΕΦΑΛΑΙΟ 3 Συστήματα Κοστολόγησης: Κοστολόγηση Συνεχούς Παραγωγής Τεχνικές Κόστους 12η Needles Powers Crosson human/istockphoto ΑΝΤΙΚΕΙΜΕΝΑ ΜΑΘΗΣΗΣ Περιγραφή του συστήματος κοστολόγησης συνεχούς παραγωγής.

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

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

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ 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

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

Ειδικά Θέματα Δικτύων Ι

Ειδικά Θέματα Δικτύων Ι Ειδικά Θέματα Δικτύων Ι Ενότητα 7: Δρομολόγηση (Μέρος 3) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο Πρωτόκολλα Διαδικτύου Μέρος 2ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Internet Protocol (IP) Στο επίπεδο δικτύου της τεχνολογίας TCP/IP, συναντάμε το πρωτόκολλο IP. Η λειτουργία του IP βασίζεται αποκλειστικά

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

8 η ιάλεξη: σε δίκτυα δεδομένων

8 η ιάλεξη: σε δίκτυα δεδομένων Εργαστήριο ικτύων Υπολογιστών 8 η ιάλεξη: Βασικές αρχές δρομολόγησης Βασικές αρχές δρομολόγησης σε δίκτυα δεδομένων ρομολόγηση (Routing) Μεταφορά μηνυμάτων μέσω του διαδικτύου από μία πηγή σε ένα προορισμό

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