Βέλτιστη Κατανομή Ροών Εργασίας Πραγματικού Χρόνου με Πιθανοτική Εγγύηση Επιπέδου Υπηρεσίας ΔΙΔΑΚΤΟΡΙΚΗ ΔΙΑΤΡΙΒΗ

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

Download "Βέλτιστη Κατανομή Ροών Εργασίας Πραγματικού Χρόνου με Πιθανοτική Εγγύηση Επιπέδου Υπηρεσίας ΔΙΔΑΚΤΟΡΙΚΗ ΔΙΑΤΡΙΒΗ"

Transcript

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

2

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

4 ... Κλεοπάτρα Γ. Κωνσταντέλη Διδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών Ε.Μ.Π. Copyright Κλεοπάτρα Γ. Κωνσταντέλη, Με επιφύλαξη παντός δικαιώματος. All rights reserved. Απαγορεύεται η αντιγραφή, αποθήκευση και διανομή της παρούσας εργασίας, εξ ολοκλήρου ή τμήματος αυτής, για εμπορικό σκοπό. Επιτρέπεται η ανατύπωση, αποθήκευση και διανομή για σκοπό μη κερδοσκοπικό, εκπαιδευτικής ή ερευνητικής φύσης, υπό την προϋπόθεση να αναφέρεται η πηγή προέλευσης και να διατηρείται το παρόν μήνυμα. Ερωτήματα που αφορούν τη χρήση της εργασίας για κερδοσκοπικό σκοπό πρέπει να απευθύνονται προς τον συγγραφέα. Οι απόψεις και τα συμπεράσματα που περιέχονται σε αυτό το έγγραφο εκφράζουν τον συγγραφέα και δεν πρέπει να ερμηνευθεί ότι αντιπροσωπεύουν τις επίσημες θέσεις του Εθνικού Μετσόβιου Πολυτεχνείου.

5 Πρόλογος Η διδακτορική διατριβή που παρουσιάζεται στις επόμενες σελίδες εκπονήθηκε από το Δεκέμβριο του 2006 μέχρι τον Μάιο του 2011, στο εργαστήριο Τηλεπικοινωνιών του τομέα Επικοινωνιών, Ηλεκτρονικής και Συστημάτων Πληροφορικής, στη Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών του Εθνικού Μετσόβιου Πολυτεχνείου υπό την επίβλεψη της κ. Θεοδώρας Βαρβαρίγου. Θα ήθελα να ευχαριστήσω από τα βάθη της καρδιάς μου την καθηγήτριά μου κ. Θεοδώρα Βαρβαρίγου για την υποστήριξη, και την καθοδήγηση που μου παρείχε από την αρχή ως το τέλος της προσπάθειάς μου, καθώς επίσης τους καθηγητές της τριμελούς συμβουλευτικής επιτροπής κ. κ. Μιχαήλ Θεολόγου και Συμεών Παπαβασιλείου. Επίσης, θα ήθελα να ευχαριστήσω όλους τους συναδέλφους με τους οποίους συνεργάστηκα κατά την διάρκεια της εκπόνησης της διατριβής μου. Ιδιαίτερες ευχαριστίες ωστόσο θα ήθελα να απευθύνω στους συναδέλφους και φίλους Κωνσταντίνο Λάλο, Μαγδαληνή Καρδαρά, και Σπυρίδωνα Γωγουβίτη. Τέλος, θα ήθελα να ευχαριστήσω την οικογένειά μου και τους φίλους μου για την στήριξη τους όλα αυτά τα χρόνια. Κλεοπάτρα Γ. Κωνσταντέλη Ιούνιος 2011

6 Πίνακας περιεχομένων 1 Εισαγωγή Οργάνωση του εγγράφου Συστήματα Πραγματικού Χρόνου Βασική Ορολογία Χρονικοί Περιορισμοί Μοντέλα Εργασιών Πραγματικού Χρόνου Τρόποι Ενεργοποίησης Φόρτος Εργασίας Πραγματικού Χρόνου Υπερφόρτωση και Υπέρβαση Χρονοπρογραμματισμός Πραγματικού Χρόνου Rate Monotonic (RM) Earliest Deadline First (EDF) Εφαρμογές Ελαστικού Πραγματικού Χρόνου Γενικά Βασικά Χαρακτηριστικά Μεταβλητός χρόνος εκτέλεσης Μεταβλητός ρυθμός εκτέλεσης Διαδραστικές και συνεργατικές Εφαρμογές Συμπεράσματα Δέσμευση Πόρων Τεχνικές Δέσμευσης Πόρων Δέσμευση Πόρων σε Συστήματα Δυναμικής Προτεραιότητας Η τεχνική Constant Bandwidth Server (CBS) Δέσμευση Πόρων για Μελλοντική Χρήση Συμπεράσματα i

7 5 Πιθανοτικές Εγγυήσεις Πραγματικού Χρόνου Στοχαστικός Χρονοπρογραμματισμός Μοντέλο Συστήματος Υποθέσεις Προτεινόμενη Μεθοδολογία Χρήση στατιστικής γνώσης αναφορικά με την πραγματική χρήση των υπηρεσιών από τους χρηστές Ομαδοποίηση χρονικά επικαλυπτόμενων δεσμεύσεων πόρων Πιθανοτικό μοντέλο ελέγχου εισδοχής Χρονοπρογραμματισμός Πραγματικού Χρόνου Αξιοποίηση της τυχαιότητας και της ανεξαρτησίας των χρόνων έναρξης των υπηρεσιών Πιθανοτική Βελτιστοποίηση Κατανομής Ροών Εργασιών Πραγματικού Χρόνου Γενική Περιγραφή του Προβλήματος Μαθηματικός Συμβολισμός Τοπολογία των πόρων Εφαρμογές από ροές εργασίας Χρονοπρογραμματισμός Πραγματικού Χρόνου Δέσμευση Πόρων για Μελλοντική Χρήση Μαθηματικός συμβολισμός Ομαδοποίηση των δεσμευμένων χρονοθυρίδων Μοντελοποίηση Προβλήματος Βελτιστοποίησης Μοντέλο Συμβολαίου Επιπέδου Υπηρεσίας Μοντέλο προβλήματος βελτιστοποίησης Αιτιοκρατική Διατύπωση του Προβλήματος Ομαδοποίηση των περιορισμών ανά ομάδες δεσμευμένων χρονοθυρίδων Αντικειμενική συνάρτηση Πιθανοτική Διατύπωση του Προβλήματος Πιθανοτική εγγύηση χρόνου απόκρισης ii

8 6.7.2 Υπολογισμός πιθανότητας αντικρουόμενων συνόλων από δεσμεύσεις Πιθανοτική εγγύηση διαθεσιμότητας των δεσμευμένων πόρων Υπολογισμός του μέσου χρόνου απόκρισης Διευκρινίσεις Αριθμητικό Παράδειγμα Επίλυση προβλήματος βελτιστοποίησης Σύνοψη Συνεισφορά Καινοτομία Μελλοντική Εργασία Βιβλιογραφικές Αναφορές iii

9 Σχήματα Σχήμα 1. Ορθότητα συστημάτων μη-πραγματικού χρόνου Σχήμα 2. Ορθότητα συστημάτων πραγματικού χρόνου Σχήμα 3. Τυπικές χρονικές παράμετροι μιας εργασίας πραγματικού χρόνου [14] Σχήμα 4. Απαίτηση επεξεργασίας ενός συνόλου από στιγμιότυπα εργασίας [14] Σχήμα 5. Εφαρμογή Bones: στιγμιότυπο του grading station [79] Σχήμα 6. Εφαρμογή Bones: στιγμιότυπο του viewing station [79] Σχήμα 7. Παράδειγμα συνεργατικής διαδραστικής εφαρμογής μεταπαραγωγής ταινιών Σχήμα 8. Παράδειγμα κατανεμημένης αρχιτεκτονικής συνεργατικής εφαρμογής streaming [80] Σχήμα 9. Εφαρμογή e-learning στα πλαίσια του IRMOS [80][81] Σχήμα 10. Κατανεμημένη αρχιτεκτονική της εφαρμογής e-learning στα πλαίσια του IRMOS [80] [81] Σχήμα 11. Δέσμευση πόρων CPU με χρονοπρογραμματιστή σταθερής προτεραιότητας [14] Σχήμα 12. Δέσμευση πόρων CPU με χρονοπρογραμματιστή EDF [14] Σχήμα 13. Η καθυστερημένη άφιξη της εργασίας τ2 μπορεί να προκαλέσει τη μη τήρηση της προθεσμίας της εργασίας τ1 [14] Σχήμα 14. Απλό παράδειγμα εξυπηρέτησης εργασίας με τον CBS [14] Σχήμα 15. Παράδειγμα εξυπηρέτησης εργασίας μεταβλητού χρόνου εκτέλεσης και σταθερού διαστήματος αφίξεων με τον CBS [14] Σχήμα 16. Παράδειγμα εξυπηρέτησης εργασίας μεταβλητού χρόνου εκτέλεσης και μεταβλητού διαστήματος αφίξεων με τον CBS [14] Σχήμα 17. Παράδειγμα διαχείρισης καθυστερημένων αφίξεων από τον CBS [14] Σχήμα 18. Σχηματική απεικόνιση της υποκείμενης υποδομής πόρων του παρόχου Σχήμα 19. Παράδειγμα επικαλυπτόμενων δεσμεύσεων σε έναν εξυπηρετητή Σχήμα 20. Χρήση στατιστικής πληροφορίας αναφορικά με την πιθανότητα ενεργοποίησης των υπηρεσιών των διαφορετικών εφαρμογών που φιλοξενούνται στον ίδιο εξυπηρετητή Σχήμα 21. Ομαδοποίηση των χρονοθυρίδων υπό κοινές επικαλυπτόμενες δεσμεύσεις Σχήμα 22. Κάθε εργασία της εφαρμογής είναι μια Μονάδα Εικονικής Μηχανής (Virtual Machine Unit), και η μεταξύ τους διασύνδεση σχηματίζει ένα Εικονικό Δίκτυο Υπηρεσίας (Virtual Service Network-VSN) Σχήμα 23. Γενική επισκόπηση της προτεινόμενης μεθόδου Σχήμα 24. Ρύθμιση της τοποθέτησης με βάση το εκατοστημόριο (percentile) του χρόνου εκτέλεσης αντί για τον χειρότερο χρόνο εκτέλεσης (WCET) iv

10 Πίνακες Πίνακας 1. Παράμετροι εισδοχής των εφαρμογών Πίνακας 2. Πιθανότητα διαθεσιμότητας κάτω από διαφορετικές ομάδες επικάλυψης και αναμενόμενος χρόνος εκτέλεσης υπό διαφορετικό αριθμό χρονοθυρίδων Πίνακας 3. Αναμενόμενος χρόνος εκτέλεσης υπό διαφορετικό αριθμό χρονοθυρίδων. 133 Πίνακας 4. Παράμετροι εισδοχής για τις νέες εφαρμογές Anew(a) = {a1, a2} Πίνακας 5. Παράμετροι τοποθέτησης για τις υπάρχουσες εφαρμογές Aold(b) = {b1, b2} Πίνακας 6. Χαρακτηριστικά των εξυπηρετητών H = j1, j2, j3, j4, j Πίνακας 7. Περιπτώσεις και λύσεις με ανενεργό δίκτυο Πίνακας 8. Συγκριτικά αποτελέσματα Πίνακας 9. Περιπτώσεις και λύσεις με ενεργό δίκτυο v

11 Περίληψη Η παρούσα διατριβή αντιμετωπίζει το πρόβλημα της βέλτιστης κατανομής ροών εργασίας πραγματικού χρόνου σε ένα σύνολο από φυσικούς πόρους, υπό πιθανοτικές εγγυήσεις. Η μελέτη εστιάζει στην μαθηματική μοντελοποίηση του εν λόγω προβλήματος αναφορικά με τους περιορισμούς και την αντικειμενική συνάρτηση προς βελτιστοποίηση, η οποία εμπεριέχει επιχειρηματικούς κανόνες σχετικά με την τοποθέτηση των ροών εργασίας. Η επίσημη μορφή του προβλήματος που παρουσιάζεται αποτελεί έναν πιθανοτικό έλεγχο εισδοχής (admission control), τον οποίο μπορεί να πραγματοποιήσει ο πάροχος των πόρων προκειμένου να αποφασίσει το αν αξίζει ή όχι να αποδεχτεί τις νέες εφαρμογές στο υποκείμενο σύστημα που διαθέτει, και επιπλέον στην περίπτωση που αυτές γίνονται δέκτες, να κατανείμει τις εργασίες από τις οποίες αποτελούνται οι εφαρμογές κατά βέλτιστο τρόπο στους υποκείμενους φυσικούς πόρους. Επιπλέον, παρουσιάζονται διαφοροποιήσεις του επίσημου προβλήματος, ανάλογα με τις συγκεκριμένες ανάγκες των ροών εργασίας. Το γενικό πρόβλημα που παρουσιάζεται μοντελοποιήθηκε κάνοντας χρήση του συστήματος GAMS (General Algebraic Modeling System) και συνδυάστηκε με διάφορες μεθόδους επίλυσης. Επίσης, παρέχεται ένα επεξηγηματικό αριθμητικό παράδειγμα καθώς vi

12 και εκτενής ανάλυση των αποτελεσμάτων των μοντέλων βελτιστοποίησης κάτω από ρεαλιστικές συνθήκες, τα οποία επικυρώνουν την ορθότητα και την χρησιμότητα του προτεινόμενου στοχαστικού μοντέλου ελέγχου εισδοχής και βέλτιστης κατανομής. vii

13 Abstract This thesis addresses the problem of optimum allocation of distributed real-time workflows with probabilistic service guarantees over a set of physical resources. The discussion focuses on how such a problem may be mathematically formalized, in terms of both constraints and objective function to be optimized, which also accounts for possible business rules for regulating the deployment of the workflows. The presented formal problem constitutes a probabilistic admission control test that may be run by a provider in order to decide whether or not it is worth to admit new workflows into the system and in case of acceptance to decide what the optimum allocation of the workflows to the available resources is. Various options are presented, which may be plugged into the formal problem description, depending on the specific needs of individual workflows. The presented problem has been implemented using GAMS (General Algebraic Modeling System) and has been tested under various solvers. An illustrative numerical example and an analysis of the results of the implemented GAMS models under realistic settings are presented that validate the correctness and the usefulness of the presented stochastic admission control and optimum allocation model. viii

14 Η σελίδα αυτή είναι σκόπιμα λευκή. ix

15 1 Εισαγωγή Οι μηχανισμοί δέσμευσης πόρων «δεσμεύουν» διαθέσιμους πόρους για ένα δεδομένο χρονικό διάστημα ώστε οι εφαρμογές για τις οποίες έχει γίνει η δέσμευση να μπορούν να εκτελεστούν με αποδεκτή από τον πελάτη Ποιότητα Υπηρεσίας (Quality of Service - QoS). Ωστόσο, η αποτελεσματικότητα των τρεχουσών μηχανισμών δέσμευσης υπολογιστικών πόρων είναι περιορισμένη στην περίπτωση των διαδραστικών εφαρμογών ελαστικού πραγματικού χρόνου, όπου οι χρήστες θέλουν να έχουν τη δυνατότητα να ενεργοποιούν την εφαρμογή όποτε αυτό είναι επιθυμητό και έχοντας πάντα ένα εγγυημένο επίπεδο υπηρεσίας μέσα σε ένα χρονικό διάστημα μεγάλης διάρκειας, χωρίς να υπάρχει περιορισμός στο χρόνο έναρξης και/ή να χρειάζεται να επαναληφθεί η διαδικασία δέσμευσης κάθε φορά που θέλουν να χρησιμοποιήσουν την εφαρμογή. Επιπλέον, ειδικά στην περίπτωση των διαδραστικών εφαρμογών πραγματικού χρόνου (interactive real-time applications), η ροή εκτέλεσης (workflow) των εργασιών από τις οποίες αποτελείται η εφαρμογή, ολοκληρώνεται μέσα σε πολύ σύντομο χρονικό διάστημα μετά την έναρξη εκτέλεσης, και πιθανότατα σε κλάσματα δευτερολέπτων. Αυτό σημαίνει ότι σε αυτή την περίπτωση ο χρόνος ολοκλήρωσης της κάθε εκτέλεσης της εφαρμογής είναι τάξεις μεγέθους μικρότερος από τη μονάδα μεγέθους 1

16 με βάση την οποία έχει γίνει η δέσμευση των υπολογιστικών πόρων. Για παράδειγμα, οι υπολογιστικοί πόροι μπορούν να δεσμευθούν για ώρες ή μέρες, ενώ η εκτέλεση της εφαρμογής να ολοκληρώνεται μέσα σε ένα δευτερόλεπτο, ή ακόμα και σε κλάσματα αυτού. Στα πλαίσια αυτού του προβλήματος, ένας πάροχος υπολογιστικών πόρων (resource provider) είναι μια επιχειρηματική οντότητα, η οποία διαθέτει ένα σύνολο από υπολογιστικούς πόρους και χρησιμοποιεί Συμβόλαια Επιπέδου Υπηρεσίας Service Level Agreements (ΣΕΥ - SLA) με πελάτες βάσει των οποίων γίνεται δέσμευση ενός μέρους των διαθέσιμων (εικονοποιημένων-virtualized) πόρων για την εκτέλεση κατανεμημένων, διαδραστικών εφαρμογών ελαστικού πραγματικού χρόνου (soft realtime interactive applications). Η χρήση τεχνικών εικονοποίησης επιτρέπει την εύκολη (seamless) εγκατάσταση (deployment) κάθε υπολογιστικού στοιχείου της κατανεμημένης εφαρμογής, το οποίο είναι μια Μονάδα Εικονοποιημένης Μηχανής Virtual Machine Unit (ΜΕΜ - VMU). Χάριν απλότητας, στην παρούσα διατριβή εξετάζεται η περίπτωση εφαρμογών που αποτελούνται από ροές διακριτών εργασιών (workflow applications), όπου κάθε υποσύνολο αυτών εκτελείται σειριακά κάθε φορά που ο τελικός χρήστης ενεργοποιεί την εφαρμογή. Οι εξυπηρετητές (hosts) δύναται να έχουν ετερογενή χαρακτηριστικά ως προς την ταχύτητα επεξεργασίας, τις δυνατότητες του υποκείμενου δικτύου και την αρχιτεκτονική. Επιπλέον, λόγω της διαδραστικής φύσης των εφαρμογών προς εκτέλεση, μία μόνο ροή εργασιών σπανίως επιτυγχάνει τον κορεσμό των υπολογιστικών δυνατοτήτων ενός εξυπηρετητή και του υποκείμενου δικτύου. Για αυτούς τους λόγους ο πάροχος των υπολογιστικών πόρων ενδιαφέρεται ιδιαίτερα για τη χρήση των ίδιων πόρων από εργασίες που ανήκουν σε διαφορετικές ροές εργασιών σε κάθε εξυπηρετητή ώστε να επιτευχθεί υψηλό επίπεδο κορεσμού των πόρων αυτών. 2

17 Ωστόσο, λόγω των αυστηρών περιορισμών ως προς το χρόνο εκτέλεσης που χαρακτηρίζει τις εφαρμογές ελαστικού πραγματικού χρόνου, η χρήση τεχνικών χρονοπρογραμματισμού βέλτιστης προσπάθειας (best effort scheduling), όπως αυτές που χρησιμοποιούνται κατά κύριο λόγο στα Λειτουργικά Συστήματα Γενικού Σκοπού- (General-Purpose (GP) Operating Systems (OS) - GPOS), δεν επαρκεί για τέτοιου είδους εφαρμογές. Είναι απαραίτητο να χρησιμοποιηθούν κατάλληλοι χρονοπρογραμματιστές (schedulers) από τον τομέα του χρονοπρογραμματισμού πραγματικού χρόνου (real-time scheduling). Για παράδειγμα, η χρήση του Xen hypervisor σε συνδυασμό με ένα χρονοπρογραμματιστή S-EDF (Simple Earliest Deadline First) θα μπορούσε να εκπληρώσει αυτήν την απαίτηση. Εναλλακτικά, θα μπορούσε να γίνει χρήση των τεχνικών εικονοποίησης των GPOS, όπως αυτών του KVM πάνω σε Linux, σε συνδυασμό με την υλοποίηση μιας τεχνικής ελαστικού πραγματικού χρόνου για GPOS, όπως προτείνεται στις εργασίες [8][9]. Για παράδειγμα, μια σύνοψη του πώς μια τέτοια τεχνική έχει υλοποιηθεί για διάφορα GPOS βρίσκεται στην εργασία [15]. Πρόσφατες υλοποίησης τέτοιου είδους χρονοπρογραμματισμού για το λειτουργικό σύστημα Linux περιγράφονται στις εργασίες [18][25] και [7]. Σε αντίθεση με την υπάρχουσα βιβλιογραφία σχετικά με παραδοσιακές τεχνικές πραγματικού χρόνου, η διατριβή αυτή πραγματεύεται έναν έλεγχο εισδοχής (admission control) που στηρίζεται σε ένα πιθανοτικό μοντέλο, ώστε να γίνεται εφικτή η τοποθέτηση περισσότερων εργασιών πραγματικού χρόνου στον ίδιο εξυπηρετητή και δίκτυο (υπερφόρτωση - overbooking) από ότι θα επιτρεπόταν κάνοντας χρήση των παραδοσιακών αιτιοκρατικών (deterministic) ελέγχων εισδοχής πραγματικού χρόνου. Λόγω των ΣΕΥ με τους πελάτες/χρήστες, ο πάροχος μπορεί να αντισταθμίσει το επίπεδο κορεσμού/υπερφόρτωσης των υπολογιστικών του πόρων με 3

18 πιθανές αποζημιώσεις που θα πρέπει να αποδώσει στους πελάτες σε περίπτωση παραβίασης του ΣΕΥ. Επίσης, αντίθετα με το μεγαλύτερο μέρος της υπάρχουσας βιβλιογραφίας σχετικά με δέσμευση υπολογιστικών πόρων πάνω σε Υπολογιστικά Πλέγματα (Grids) ή Υπολογιστικά Νέφη (Clouds), η παρούσα διατριβή πραγματεύεται διαδραστικές κατανεμημένες εφαρμογές ελαστικού πραγματικού χρόνου, οι οποίες χαρακτηρίζονται από πολύ αυστηρούς περιορισμούς ως προς το χρόνο εκτέλεσης, και κατανέμονται ως προς το χρόνο σε υπολογιστικούς πόρους κάνοντας χρήση ελαστικών τεχνικών χρονοπρογραμματισμού πραγματικού χρόνου, ώστε να παρέχονται ισχυρές εγγυήσεις ως προς το συνολικό χρόνο απόκρισης (end-to-end response time) της εφαρμογής-ροής εργασίας. 1.1 Οργάνωση του εγγράφου Η παρούσα διατριβή αποτελείται από εννέα (9) κεφάλαια. Στις ενότητες των κεφαλαίων αυτών παρουσιάζεται με αναλυτικό τρόπο το αντικείμενο της διδακτορικής διατριβής. Πιο συγκεκριμένα στο Κεφάλαιο 2 παρουσιάζεται η κλασική μαθηματική ορολογία αναφορικά με τα βασικά χαρακτηριστικά των συστημάτων πραγματικού χρόνου, όπως οι χρονικοί περιορισμοί, τα διαφορετικά μοντέλα εργασιών πραγματικού χρόνου και οι τρόποι ενεργοποίησης τους, καθώς και σχετικές δευτερεύουσες έννοιες όπως ο φόρτος εργασίας και η υπερφόρτωση. Τέλος παρουσιάζονται δύο βασικοί αλγόριθμοι χρονοπρογραμματισμού δυναμικής προτεραιότητας, ο αλγόριθμος Rate Monotonic (RM) και Earliest Deadline First (EDF) που χρησιμοποιούνται κατά κόρον στα συστήματα πραγματικού χρόνου, και πάνω στους οποίους στηρίζεται εν μέρει η εν λόγω διατριβή. 4

19 Στην συνέχεια το Κεφάλαιο 3 εξηγεί τους λόγους για τους οποίους οι τεχνικές ελαστικού πραγματικού χρόνου διερευνούνται σε βάθος κατά τη διάρκεια των τελευταίων ετών για την υποστήριξη μιας σειράς εφαρμογών για τις οποίες η κλασική μη-ελαστική προσέγγιση πραγματικού χρόνου δεν είναι κατάλληλη. Σε αυτήν την κατεύθυνση, παρουσιάζονται συγκεκριμένα παραδείγματα τέτοιων εφαρμογών από διαφορετικές τεχνολογικές περιοχές, όπως συστήματα πολυμέσων, συσκευές παρακολούθησης, ρομποτικά συστήματα, γραφικά πραγματικού χρόνου, διαδραστικές εφαρμογές όπως παιχνίδια, και εφαρμογές εικονικής πραγματικότητας. Στο Κεφάλαιο 4 δίνεται μια αναλυτική περιγραφή της γενικής τεχνικής δέσμευσης πόρων για την αποδοτικότερη διαχείριση εφαρμογών ελαστικού πραγματικού χρόνου σε συστήματα δυναμικής προτεραιότητας. Γίνεται εκτενής αναφορά στην τεχνική Constant Bandwidth Server (CBS), η οποία παρέχει ένα ισχυρό θεωρητικό υπόβαθρο που έχει αποδειχτεί ότι μπορεί να διαχειριστεί αποτελεσματικά τις απεριοδικές αφίξεις εργασιών. Επιπλέον, γίνεται παρουσίαση των πιο σημαντικών μελετών που έχουν εμφανιστεί στην παγκόσμια βιβλιογραφία αναφορικά με το αντικείμενο της εκ των προτέρων δέσμευσης πόρων για χρήση κατά τη διάρκεια μεγάλων χρονικών διαστημάτων στο μέλλον και περιγράφονται τα προβλήματα της εφαρμογής αυτών των τεχνικών στις διαδραστικές εφαρμογές ελαστικού πραγματικού χρόνου. Στο Κεφάλαιο 5 παρουσιάζεται μια πιθανοτική προσέγγιση στο πρόβλημα της εκ των προτέρων δέσμευσης και χρονοπρογραμματισμού εργασιών πραγματικού χρόνου, με στόχο την παροχή μιας ελαστικής μορφής εγγύησης για εφαρμογές με πολύ μεγάλο βαθμό μεταβλητότητας στη συμπεριφορά της εκτέλεσης, όπως οι διαδραστικές εφαρμογές ελαστικού πραγματικού χρόνου Σε αυτές τις περιπτώσεις είναι επιθυμητό από την πλευρά του παρόχου των πόρων να εκμεταλλευτεί τη στατιστική πολυπλεξία μεταξύ των φιλοξενούμενων εφαρμογών που επικαλύπτονται χρονικά, με το παρέχει 5

20 μια πιθανοτική εγγύηση σε χαμηλότερο κόστος, σε σύγκριση με την ντετερμινιστική που κοστίζει περισσότερο. Το Κεφάλαιο 6 είναι οργανωμένο ως εξής. Η περιγραφή του υπό εξέταση προβλήματος παρουσιάζεται στο Κεφάλαιο 6.1, το οποίο περιλαμβάνει και μια γενική επισκόπηση της προτεινόμενης μεθόδου, η οποία αναλύεται στα κεφάλαια που ακολουθούν. Στο Κεφάλαιο 6.2, παρουσιάζεται ο απαραίτητος μαθηματικός συμβολισμός αναφορικά με την τοπολογία των πόρων και τις ροές εργασίας πραγματικού χρόνου, ενώ ακολουθεί ανάλυση αναφορικά με το χρονοπρογραμματισμό πραγματικού χρόνου και τη δέσμευση πόρων στα Κεφάλαια 6.3 και 6.4 αντίστοιχα. Η παρουσίαση του μοντέλου Συμβολαίου Επιπέδου Υπηρεσίας (SLA) και του γενικού μοντέλου του προβλήματος βελτιστοποίησης γίνεται στα Κεφάλαια και αντίστοιχα. Ακολουθεί η αναλυτική ντετερμινιστική μαθηματική διατύπωση του προβλήματος της κατανομής των κατανεμημένων εφαρμογών στο Κεφάλαιο 6.6, και στη συνέχεια η πιθανοτική του διατύπωση στο Κεφάλαιο 6.7. Στο Κεφάλαιο 7 παρουσιάζεται ένα επεξηγηματικό αριθμητικό παράδειγμα του εν λόγω μοντέλου βελτιστοποίησης, ενώ στο Κεφάλαιο 8 γίνεται παρουσίαση και ανάλυση των αποτελεσμάτων που συγκεντρώθηκαν από τη μοντελοποίηση και επίλυση του προβλήματος χρησιμοποιώντας το σύστημα General Algebraic Modeling System (GAMS) [2], το οποίο είναι ειδικά σχεδιασμένο για τη μοντελοποίηση εφαρμογών βελτιστοποίησης μεγάλης κλίμακας. Τέλος, στο Κεφάλαιο 9 περιλαμβάνεται η σύνοψη της διατριβής και τα συμπεράσματα που εξήχθησαν κατά την εκπόνησή της, η συνεισφορά και η καινοτομία που επιδεικνύει στον αντίστοιχο ερευνητικό χώρο, και συζητούνται θέματα μελλοντικής εργασίας και επέκτασης των ερευνητικών αποτελεσμάτων. 6

21 Σημειώνεται ότι στο τέλος του εγγράφου παρουσιάζεται ένα γλωσσάριο το οποίο περιέχει την αντιστοιχία των βασικών όρων που χρησιμοποιήθηκαν στη διατριβή με τη συντομογραφία αυτών για τη διευκόλυνση του αναγνώστη. Η διατριβή ολοκληρώνεται με βιβλιογραφικές αναφορές. 7

22 Η σελίδα αυτή είναι σκόπιμα λευκή. 8

23 2 Συστήματα Πραγματικού Χρόνου Για την καλύτερη κατανόηση της διαφοράς μεταξύ των κλασσικών μη-ελαστικών εφαρμογών πραγματικού χρόνου και των ελαστικών εφαρμογών πάνω στις οποίες εστιάζει η παρούσα διατριβή, κρίθηκε σκόπιμο να παρουσιαστεί πρώτα κάποια βασική ορολογία που θα χρησιμοποιηθεί σε όλη τη διατριβή. Πιο συγκεκριμένα σε αυτό το κεφάλαιο παρουσιάζεται η κλασική μαθηματική ορολογία αναφορικά με τα βασικά χαρακτηριστικά των συστημάτων πραγματικού χρόνου, όπως οι χρονικοί περιορισμοί, τα διαφορετικά μοντέλα εργασιών πραγματικού χρόνου και οι τρόποι ενεργοποίησης τους, καθώς και σχετικές δευτερεύουσες έννοιες όπως ο φόρτος εργασίας και η υπερφόρτωση. Τέλος παρουσιάζονται δύο βασικοί αλγόριθμοι χρονοπρογραμματισμού δυναμικής προτεραιότητας, ο αλγόριθμος Rate Monotonic (RM) και Earliest Deadline First (EDF), που χρησιμοποιούνται κατά κόρον στα συστήματα πραγματικού χρόνου, και πάνω στους οποίους στηρίζεται εν μέρει η εν λόγω διατριβή. 2.1 Βασική Ορολογία Τα Συστήματα Πραγματικού Χρόνου (Real-Time Systems) είναι συστήματα λογισμικού/υλικού των οποίων η ορθότητα της λειτουργίας τους εξαρτάται από το αν πληρούνται ή όχι συγκεκριμένοι χρονικοί περιορισμοί. Σε «πραγματικό χρόνο» δεν 9

24 σημαίνει «πολύ γρήγορα», αλλά ότι οι εκτελέσεις πρέπει να γίνονται πριν την λήξη των προθεσμιών τους, διαφορετικά έχουν αποτύχει. Ο όρος «πραγματικός χρόνος» αναφέρεται στο ότι ο χρόνος του συστήματος (δηλαδή, η αναπαράσταση του χρόνου στο εσωτερικό του συστήματος), θα πρέπει πάντα να συγχρονίζεται με τον αντίστοιχο εξωτερικό χρόνο, με βάση τον οποίον μετρώνται όλα τα χρονικά διαστήματα στο περιβάλλον. Για λόγους πληρότητας παρατίθενται οι παρακάτω επίσημοι ορισμοί αναφορικά με το τί είναι ένα σύστημα πραγματικού χρόνου: Ορισμός 2.1 «Ένα σύστημα πραγματικού χρόνου είναι ένα σύστημα που πρέπει να πληροί ρητούς (οριοθετημένους) περιορισμούς ως προς τους χρόνους απόκρισης διαφορετικά υπάρχει κίνδυνος σοβαρών συνεπειών, συμπεριλαμβανομένης της βλάβης». Ορισμός 2.2 «Ένα σύστημα πραγματικού χρόνου είναι ένα σύστημα του οποίου η λογική ορθότητα βασίζεται τόσο στην ορθότητα των αποτελεσμάτων όσο και στην εγκαιρότητα αυτών». Ορισμός 2.3 «Ένα σύστημα πραγματικού χρόνου είναι οποιαδήποτε δραστηριότητα επεξεργασίας πληροφοριών ή σύστημα, το οποίο οφείλει να απαντά σε εξωτερικά ερεθίσματα εντός μιας πεπερασμένης και καθορισμένης χρονικής περιόδου». Πιο συγκεκριμένα, μπορούμε να πούμε ότι η ορθότητα των συστημάτων μηπραγματικού χρόνου εξαρτάται από τη συναρτησιακή συμπεριφορά του συστήματος και από την τιμή του παραγόμενου αποτελέσματος (Σχήμα 1). 10

25 Σχήμα 1. Ορθότητα συστημάτων μη-πραγματικού χρόνου Ωστόσο, η ορθότητα των συστημάτων πραγματικού χρόνου εξαρτάται, εκτός από την τιμή του παραγόμενου αποτελέσματος και από το χρόνο κατά τον οποίο παράγεται το αποτέλεσμα και γενικότερα από την ικανότητα του συστήματος να πληροί χρονικούς περιορισμούς (Σχήμα 2). Σχήμα 2. Ορθότητα συστημάτων πραγματικού χρόνου. Τα συστήματα πραγματικού χρόνου μπορούν να χωριστούν σε δύο κατηγορίες ανάλογα με το βαθμό αυστηρότητας ως προς την τήρηση των χρονικών περιορισμών: Συστήματα μη-ελαστικού πραγματικού χρόνου ( Hard real-time systems) στα οποία η μη τήρηση μίας χρονικής προθεσμίας μπορεί να προκαλέσει γενική αποτυχία και δυσλειτουργία του συστήματος, π.χ. συστήματα πλοήγησης αεροσκαφών, συστήματα ελέγχου της παραγωγικής διαδικασίας εργοστασίων παράγωγης πυρηνικής ενέργειας, και γενικά συστήματα εντοπισμού κρίσιμων συνθηκών. Συστήματα ελαστικού πραγματικού χρόνου (Soft real-time systems) στα οποία η τήρηση των χρονικών περιορισμών είναι άκρως επιθυμητή για λόγους 11

26 απόδοσης, π.χ. πολυμεσικές εφαρμογές, συστήματα κράτησης, εφαρμογές απεικόνισης πληροφορίας αναφορικά με την τρέχουσα κατάσταση κ.λπ. Τα περισσότερα συστήματα μη-ελαστικού πραγματικού χρόνου είναι ενσωματωμένα συστήματα (embedded systems) και όχι υπολογιστικά συστήματα γενικής χρήσης, δηλαδή το λογισμικό είναι σχεδιασμένο ακριβώς πάνω στο υλικό, συνήθως κάτω από πολύ αυστηρούς οικονομικούς περιορισμούς, ώστε να επιτελείται μια συγκεκριμένη εργασία. Για παράδειγμα: Η ανάφλεξη, η έγχυση καυσίμου, και το χρονοδιάγραμμα των περισσότερων κινητήρων των αυτοκινήτων γίνεται από ένα ενσωματωμένο σύστημα πραγματικού χρόνου. Το σύστημα αντιμπλοκαρίσματος (antilock) των φρένων στα περισσότερα αυτοκίνητα είναι ένα ενσωματωμένο σύστημα πραγματικού χρόνου. Τα συστήματα ελέγχου πλοήγησης στα περισσότερα εμπορικά αεροσκάφη είναι ενσωματωμένα συστήματα πραγματικού χρόνου. Για παράδειγμα, το μαχητικό αεροσκάφος F117 Stealth είναι σχεδιασμένο ώστε να είναι αεροδυναμικά ασταθές. Ως εκ τούτου, δυσλειτουργία του συστήματος σταθεροποίησης του, μπορεί να προκαλέσει τη συντριβή του αεροσκάφους. Το λογισμικό του Mars Rovers είναι σχεδιασμένο πάνω στο VxWorks, ένα εμπορικό λειτουργικό σύστημα πραγματικού χρόνου. Τα συστήματα ελαστικού πραγματικού χρόνου αξιολογούνται από το βαθμό στον οποίο τηρούν τις επιθυμητές χρονικές προθεσμίες και από τη διακύμανση του χρόνου αναμονής τους. Τα συστήματα αυτά εμφανίζονται πολύ συχνά σε ηλεκτρονικούς υπολογιστές γενικής χρήσης, και περιλαμβάνουν εφαρμογές όπως η αναπαραγωγή εικόνας και ήχου, η οπτικοποίηση επιστημονικών δεδομένων, τα παιχνίδια, και γενικά διαδραστικές εφαρμογές. 12

27 Κατανεμημένα συστήματα πραγματικού χρόνου (distributed real-time systems) ονομάζονται τα συστήματα πραγματικού χρόνου, τα οποία αποτελούνται από πολλαπλούς πόρους με μη αμελητέα καθυστέρηση μεταξύ τους, όπως για παράδειγμα οι πολλαπλοί επεξεργαστές ενός αυτοκινήτου, ή εικόνες video που μεταδίδονται μέσω δικτύου. 2.2 Χρονικοί Περιορισμοί Μια εφαρμογή πραγματικού χρόνου συνήθως μοντελοποιείται ως ένα σύνολο εργασιών πραγματικού χρόνου. Κάθε εργασία αντιπροσωπεύει μια υπολογιστική δραστηριότητα που πρέπει να εκτελεστεί κάτω από ένα σύνολο από περιορισμούς. Οι πιο σημαντικές χρονικές παράμετροι, οι οποίες χρησιμοποιούνται τυπικά για το χαρακτηρισμό μιας υπολογιστικής δραστηριότητας πραγματικού χρόνου παρατίθενται στη λίστα που ακολουθεί: Χρόνος Άφιξης a i : ο χρόνος άφιξης της εργασίας ή διαφορετικά η χρονική στιγμή κατά την οποία η εργασία είναι έτοιμη προς εκτέλεση. Χρόνος Έναρξης s i : ο χρόνος κατά τον οποίο η εργασία ξεκινάει την εκτέλεσή της για πρώτη φορά. Χρόνος Εκτέλεσης C i : ο χρόνος που χρειάζεται ο επεξεργαστής για να εκτελέσει την εργασία χωρίς διακοπή. Χρόνος Λήξης f i : η χρονική στιγμή κατά την οποία η εργασία ολοκληρώνει την εκτέλεση της. Χρόνος Απόκρισης R i : το χρονικό διάστημα μεταξύ του χρόνου άφιξης και του χρόνου λήξης της εργασίας (R = f r ). Απόλυτος χρονικός περιορισμός d i : είναι η χρονική στιγμή πριν από την οποία θα πρέπει η εργασία να ολοκληρωθεί. 13

28 Σχετικός χρονικός περιορισμός D i : είναι το χρονικό διάστημα, αναφορικά με το χρόνο άφιξης, κατά τη διάρκεια του οποίου θα πρέπει να ολοκληρωθεί η εργασία (D = d r ). Σχήμα 3. Τυπικές χρονικές παράμετροι μιας εργασίας πραγματικού χρόνου [14]. Οι παραπάνω παράμετροι περιγράφονται σχηματικά στο Σχήμα 3, όπου ο χρόνος άφιξης εμφανίζεται ως ένα βέλος με φορά προς πάνω ενώ ο χρόνος λήξης ως ένα βέλος το οποίο έχει φορά προς τα κάτω. Άλλες δευτερεύουσες παράμετροι που χρησιμοποιούνται συνήθως για την περιγραφή μιας εργασίας πραγματικού χρόνου είναι: Χαλαρότητα (Slack time or Laxity): είναι το χρονικό διάστημα μεταξύ του χρόνου λήξης και του απόλυτου χρονικού περιορισμού (slack = d f ), και εκφράζει το μέγιστο χρόνο καθυστέρησης της λήξης της εργασίας μέσα στο δεδομένο χρονικό περιορισμό. Καθυστέρηση (Lateness) L i : L = f d, αντιπροσωπεύει την καθυστέρηση στην ολοκλήρωση μιας εργασίας αναφορικά με το χρονικό περιορισμό αυτής. Σημειώνεται ότι όταν μια εργασία ολοκληρώνεται πριν το χρονικό περιορισμό, τότε η καθυστέρηση παίρνει αρνητική τιμή. 14

29 Αργοπορία (Tardiness or Exceeding time) E i : E = max (0, L ), είναι το χρονικό διάστημα κατά το οποίο η εργασία παραμένει ενεργή μετά τον χρονικό της περιορισμό. Αν η ίδια υπολογιστική δραστηριότητα πρέπει να εκτελεστεί πολλές φόρες με διαφορετικά δεδομένα, τότε η εργασία χαρακτηρίζεται ως μια ακολουθία από πολλαπλά στιγμιότυπα εργασίας (jobs). Σε γενικές γραμμές, μια εργασία τ μοντελοποιείται ως μια (πεπερασμένη ή μη πεπερασμένη) ακολουθία από στιγμιότυπα, τ,, (j = 1,2, ), κάθε ένα από τα οποία χαρακτηρίζεται από ένα χρόνο άφιξης α,, ένα χρόνο εκτέλεσης C,, ένα χρόνο λήξης f,, και από έναν απόλυτο χρονικό περιορισμό d,. 2.3 Μοντέλα Εργασιών Πραγματικού Χρόνου Ανάλογα με τις χρονικές απαιτήσεις που χαρακτηρίζουν μια υπολογιστική δραστηριότητα, οι εργασίες γενικά μπορούν να κατηγοριοποιηθούν στις εξής τέσσερις βασικές κατηγορίες: hard, firm, soft, and non real-time. Μια εργασία τ ονομάζεται σκληρού (hard) πραγματικού χρόνου αν όλα τα στιγμιότυπα αυτής πρέπει να εκτελεστούν μέσα στο δεδομένο χρονικό περιορισμό ( j, f i,j d i,j ), διαφορετικά το συνολικό σύστημα μπορεί να υποστεί σοβαρή βλάβη στη λειτουργία του. Μια εργασία τ ονομάζεται σταθερού (firm) πραγματικού χρόνου αν επιτρέπεται μόνο σε ένα περιορισμένο αριθμό των στιγμιότυπων της να μην τηρήσουν το χρονικό περιορισμό. Στην μελέτη [35], οι συγγραφείς καθόρισαν ένα μοντέλο firm εργασίας, κατά το οποίο επιτρέπεται μόνο σε ένα στιγμιότυπο ανά S να μην τηρήσει το χρονικό περιορισμό. Όταν το στιγμιότυπο εργασίας χάνει το χρονικό περιορισμό, τότε ακυρώνεται η εκτέλεση αυτού και στα υπόλοιπα S 1 πρέπει να παρασχεθούν 15

30 εγγυήσεις ότι θα εκτελεστούν μέσα στους χρονικούς τους περιορισμούς. Ένα ελαφρώς διαφορετικό μοντέλο firm εργασίας, το οποίο προτάθηκε από τους Hamdaoui και Ramanathan στη μελέτη [34], επιτρέπει τον καθορισμό εργασιών των οποίων τουλάχιστον k στιγμιότυπα ανά m μπορουν να μη τηρήσουν το χρονικό περιορισμό. Μια εργασία τ ονομάζεται ελαστικού (soft) πραγματικού χρόνου αν η ποιότητα του παραγόμενου αποτελέσματος φθίνει ομαλά σε σχέση με το χρόνο απόκρισης. Για ορισμένες εφαρμογές, δεν υπάρχει κάποιος χρονικός περιορισμός αναφορικά με ελαστικούς υπολογισμούς. Σε αυτήν την περίπτωση, ο αντικειμενικός στόχος του συστήματος είναι η όσο το δυνατόν μεγαλύτερη μείωση του χρόνου απόκρισης. Σε άλλες περιπτώσεις, ένας ελαστικός χρονικός περιορισμός μπορεί να συσχετίζεται με κάθε στιγμιότυπο εργασίας, υπό την έννοια ότι ένα στιγμιότυπο πρέπει να εκτελεστεί μέσα στο χρονικό του περιορισμό προκειμένου να επιτύχει τη βέλτιστη απόδοση. Ωστόσο, όταν δεν τηρείται ένας ελαστικός χρονικός περιορισμός, το σύστημα συνεχίζει να λειτούργει με μειωμένη απόδοση. Για τον ακριβή προσδιορισμό της υποβάθμισης στην απόδοση του συστήματος που οφείλεται στη μη τήρηση κάποιου ελαστικού χρονικού περιορισμού, η συνάρτηση της απόδοσης μπορεί να συσχετιστεί με τις εργασίες ελαστικού πραγματικού χρόνου. Τέλος, μια εργασία τ ονομάζεται μη (non) πραγματικού χρόνου αν η τιμή του παραγόμενου αποτελέσματος δεν εξαρτάται από το χρόνο ολοκλήρωσης των υπολογισμών που περιλαμβάνει. 2.4 Τρόποι Ενεργοποίησης Σε ένα υπολογιστικά ελεγχόμενο σύστημα, μια υπολογιστική δραστηριότητα μπορεί να ενεργοποιηθεί είτε από ένα χρονομέτρη (timer) σε προκαθορισμένες χρονικές 16

31 Βέλτιστη Κατανομή Ροών Εργασίας Πραγματικού Χρόνου με Πιθανοτική Εγγύηση Επιπέδου Υπηρεσίας στιγμές (time-triggered activation) είτε από την εμφάνιση ενός συγκεκριμένου γεγονότος (event-triggered activation). Όταν τα στιγμιότυπα της εργασίας ενεργοποιούνται από χρονομέτρη και διαχωρίζονται από ένα καθορισμένο χρονικό διάστημα, τότε η εργασία ονομάζεται περιοδική. Πιο συγκεκριμένα, μια περιοδική εργασία τ, είναι μια εργασία της oποίας το πρώτο στιγμιότυπο τ,, ενεργοποιείται τη χρονική στιγμή Φ, η οποία ονομάζεται φάση εργασίας (task phase), και κάθε στιγμιότυπο που ακολουθεί τ, ενεργοποιείται τη χρονική στιγμή r, = r, + T, όπου T είναι η περίοδος εργασίας. Αν D, είναι ο σχετικός χρονικός περιορισμός του κάθε στιγμιότυπου τ,, τότε ο απόλυτος χρονικός περιορισμός μπορεί να υπολογιστεί ως εξής: r, = Φ + (j 1)T d, = r, + D. Αν οι χρονικές στιγμές ενεργοποίησης δεν έχουν την ίδια διάρκεια, τότε η εργασία ονομάζεται απεριοδική (aperiodic). Πιο συγκεκριμένα, μια απεριοδική εργασία τ, είναι μια εργασία της οποίας η χρονική στιγμή ενεργοποίησης του στιγμιότυπου τ, είναι μεγαλύτερη ή ίση από εκείνη του προηγούμενου στιγμιότυπου τ,, δηλαδή r, r,. Αν μεσολαβεί ένα ελάχιστο χρονικό διάστημα μεταξύ των διαδοχικών στιγμιότυπων μιας απεριοδικής εργασίας τότε ονομάζεται σποραδική (sporadic). Πιο συγκεκριμένα, μια σποραδική εργασία τ, είναι μια εργασία της οποίας η διάφορα μεταξύ των χρόνων ενεργοποίησης δύο διαδοχικών στιγμιότυπων τ, και τ, είναι μεγαλύτερη ή ίση από το χρονικό διάστημα T, δηλαδή r, r, + T. Η παράμετρος T ονομάζεται ελάχιστο χρονικό διάστημα άφιξης (minimum interarrival time). 17

32 2.5 Φόρτος Εργασίας Πραγματικού Χρόνου Σε ένα υπολογιστικό σύστημα γενικής χρήσης, ο φόρτος εργασίας του επεξεργαστή εξαρτάται από την ποσότητα των υπολογισμών που απαιτούνται σε μία χρονική μονάδα. Σε ένα σύστημα που χαρακτηρίζεται από απεριοδικές εργασίες, ο μέσος φόρτος εργασίας ρ υπολογίζεται ως το γινόμενο του μέσου υπολογιστικού χρόνου C που απαιτείται από τις εργασίες και το μέσο ρυθμό άφιξης λ: ρ = C λ. Ωστόσο, σε ένα σύστημα πραγματικού χρόνου ο φόρτος του επεξεργαστή εξαρτάται και από τους χρονικούς περιορισμούς των εργασιών. Το ίδιο σύνολο εργασιών με ένα δεδομένο σύνολο από υπολογιστικές ανάγκες και με δεδομένο μοτίβο αφίξεων μπορεί να δημιουργήσει μεγαλύτερο φόρτο αν εκτελεστεί με πιο αυστηρούς χρονικούς περιορισμούς. Για τον υπολογισμό του φόρτου σε ένα σύστημα πραγματικού χρόνου, οι Baruah, Howell and Rosier στην μελέτη [63] εισήγαγαν την έννοια της απαίτησης επεξεργασίας (processor demand), η οποία ορίζεται επίσημα ως εξής: Ορισμός 2.4 Η απαίτηση φόρτου g(t, t ) σε ένα χρονικό διάστημα [t, t ] είναι ο αριθμός των υπολογισμών ο οποίος ζητείται τη χρονική στιγμή t ή μετά από αυτήν, και πρέπει να ολοκληρωθεί πριν από τη χρονική στιγμή t. Για παράδειγμα, δεδομένου του συνόλου από στιγμιότυπα εργασιών όπως αυτά εμφανίζονται στο Σχήμα 4, η απαίτηση επεξεργασίας στο χρονικό διάστημα [t, t ] δίνεται από το άθροισμα των υπολογιστικών χρόνων που εμφανίζονται με σκούρο γκρι χρώμα, δηλαδή εκείνων των στιγμιότυπων που έφτασαν τη χρονική στιγμή ή μετά την t και έχουν χρονικούς περιορισμούς μικρότερους ή ίσους με t. 18

33 Σχήμα 4. Απαίτηση επεξεργασίας ενός συνόλου από στιγμιότυπα εργασίας [14]. Επομένως, η απαίτηση φόρτου g (t, t ) για την εργασία τ είναι ίση με τον υπολογιστικό χρόνο που απαιτείται από τα στιγμιότυπα εργασιών των οποίων οι χρόνοι άφιξης και οι χρονικοί περιορισμοί είναι μέσα στο διάστημα [t, t ]. Δηλαδή: g (t, t ) = c,.,,, Τότε ο φόρτος εργασίας του επεξεργαστή σε ένα χρονικό διάστημα [t, t ] μπορεί να καθοριστεί ως ο λόγος της ζήτησης στο δεδομένο χρονικό διάστημα προς το μήκος του εν λόγω διαστήματος: ρ(t, t ) = g(t, t ) t t. Στην ειδική περίπτωση μιας περιοδικής μη-ελαστικής εργασίας, ο φόρτος που παράγεται ονομάζεται επίσης ποσοστό χρησιμοποίησης της εργασίας (task utilization) U, και μπορεί να υπολογιστεί ως ο λόγος του χειρίστου χρόνου εκτέλεσης C προς την περίοδο T : U = C T. Τότε, το συνολικό ποσοστό χρησιμοποίησης καθορίζεται ως το σύνολο των ποσοστών χρησιμοποίησης των μεμονωμένων εργασιών: U = C. T 19

34 Το ποσοστό χρησιμοποίησης U μιας περιοδικής εργασίας τ, ουσιαστικά αντιπροσωπεύει το υπολογιστικό εύρος ζώνης που απαιτεί μια εργασία από τον επεξεργαστή (υποθέτοντας ότι κάθε στιγμιότυπο θα εκτελεστεί με βάση τον χείριστο χρόνο εκτέλεσης). Η έννοια του ζητούμενου εύρους μπορεί να γενικευτεί ώστε να καλύψει και μη περιοδικές εργασίες ως εξής: Ορισμός 2.5 Μια εργασία τ, λέμε ότι χρειάζεται εύρος ζώνης U αν, για οποιοδήποτε χρονικό διάστημα [t, t ], οι υπολογιστικές απαιτήσεις g (t, t ) δεν ξεπερνούν ποτέ την τιμή (t t )U, και υπάρχει κάποιο χρονικό διάστημα [t, t ] τέτοιο ώστε g (t, t ) =(t, t ) U. 2.6 Υπερφόρτωση και Υπέρβαση Ένα σύστημα λέγεται ότι είναι σε κατάσταση υπερφόρτωσης (overloaded), όταν η υπολογιστική ζήτηση του συνόλου εργασιών υπερβαίνει το διαθέσιμο χρόνο επεξεργασίας, δηλαδή όταν υπάρχει ένα χρονικό διάστημα [t, t ] τέτοιο ώστε g (t, t ) >(t, t ). Σε μια τέτοια κατάσταση, οι υπολογιστικές δραστηριότητες αρχίζουν να συσσωρεύονται σε ουρές συστήματος (οι οποίες τείνουν να γίνουν ολοένα και μεγαλύτερες, εάν η υπερφόρτωση επιμένει), και οι χρόνοι απόκρισης τείνουν να αυξάνουν επ' αόριστον. Όταν οι εργασίες έχουν χρονικούς περιορισμούς, κατάσταση υπερφόρτωσης σημαίνει ότι μία ή περισσότερες εργασίες θα «χάσουν» την προθεσμία (με την παραδοχή ότι ο χρόνος εκτέλεσης όλων των εργασιών είναι ο αναμενόμενος). Για ένα σύνολο περιοδικών εργασιών, η υπερφόρτωση συμβαίνει όταν η χρησιμοποίηση του επεξεργαστή U =, υπερβαίνει τη μονάδα. Ωστόσο, πρέπει να σημειωθεί ότι ανάλογα με το χρησιμοποιούμενο αλγόριθμο χρονοπρογραμματισμού, οι εργασίες ενδέχεται να χάσουν επίσης τις προθεσμίες τους, 20

35 όταν ο επεξεργαστής δεν είναι υπερφορτωμένος (όπως στην περίπτωση του αλγορίθμου Rate Monotonic, ο οποίος έχει άνω όριο χρησιμοποίησης λιγότερο από ένα [21]). Ενώ η υπερφόρτωση είναι ένας όρος που σχετίζεται με τον επεξεργαστή, η υπέρβαση (overrun) είναι μια κατάσταση που συνδέεται με μία μόνο εργασία. Μια εργασία λέγεται ότι είναι σε κατάσταση υπέρβασης (overrun), όταν υπάρχει ένα χρονικό διάστημα κατά το οποίο η υπολογιστική ζήτηση g υπερβαίνει τo αναμενόμενο υπολογιστικό εύρος ζώνης U. Αυτή η κατάσταση μπορεί να συμβεί είτε επειδή τα στιγμιότυπα εργασίας φτάνουν πιο συχνά από ότι αναμενόταν (activation overrun), ή επειδή οι χρόνοι εκτέλεσης υπερβαίνουν τις αναμενόμενες τιμές τους (execution overrun). Σημειώνεται ότι μια εργασία σε κατάσταση υπέρβασης δεν προκαλεί απαραιτήτως υπερφόρτωση. 2.7 Χρονοπρογραμματισμός Πραγματικού Χρόνου Ένας αλγόριθμος χρονοπρογραμματισμού (scheduling algorithm) είναι ένα σύνολο κανόνων που καθορίζουν την εργασία που πρέπει να εκτελεστεί σε μια δεδομένη στιγμή. Οι αλγόριθμοι χρονοπρογραμματισμού που θα μελετηθούν σε αυτή τη διατριβή είναι pre-emptive και priority-driven. Αυτό σημαίνει ότι όταν υπάρχει μια αίτηση για εργασία που έχει μεγαλύτερη προτεραιότητα από εκείνη που εκτελείται, τότε η εκτελούμενη εργασία διακόπτεται αμέσως και μια νέα εργασία θα πάρει τη θέση της, δηλαδή θα αρχίσει να εκτελείται. Έτσι, οι προδιαγραφές των αλγορίθμων αυτών ουσιαστικά περιλαμβάνουν τον προσδιορισμό της μεθόδου ανάθεσης προτεραιοτήτων σε εργασίες. Ένας αλγόριθμος χρονοπρογραμματισμού λέγεται στατικός (static), εφόσον οι προτεραιότητες που έχουν ανατεθεί στις εργασίες δεν αλλάζουν ποτέ, ενώ ένας αλγόριθμος χρονοπρογραμματισμού λέγεται δυναμικός (dynamic), αν οι 21

36 προτεραιότητες των εργασιών μπορούν να αλλάξουν από ενεργοποίηση σε ενεργοποίηση. Τέλος, ένας αλγόριθμος χρονοπρογραμματισμού λέγεται μικτός (mixed) εάν έχουν καθοριστεί προτεραιότητες για ορισμένα στιγμιότυπα των εργασιών αλλά οι προτεραιότητες των υπόλοιπων στιγμιότυπων ποικίλλουν από αίτημα σε αίτημα. Ανάμεσα στους αλγορίθμους χρονοπρογραμματισμού εργασιών πραγματικού χρόνου, οι αλγόριθμοι Rate Monotonic (RM) και Earliest Deadline First (EDF) είναι από τους πιο συχνά χρησιμοποιούμενους στον τομέα των συστημάτων πραγματικού χρόνου Rate Monotonic (RM) Ο αλγόριθμος Rate Monotonic (RM) [21] είναι ένας αλγόριθμος χρονοπρογραμματισμού που χρησιμοποιείται σε συστήματα πραγματικού χρόνου και πρόκειται για χρονοπρογραμματισμό στατικής προτεραιότητας. Πιο συγκεκριμένα, οι στατικές προτεραιότητες καθορίζονται με βάση τη διάρκεια του κύκλου της εργασίας: όσο μικρότερη είναι η διάρκεια του κύκλου, τόσο μεγαλύτερη είναι η προτεραιότητα της εργασίας. Αυτά τα συστήματα είναι γενικά υπέρτερης προτεραιότητας (pre-emptive) και έχουν ντετερμινιστικές εγγυήσεις όσον αφορά στους χρόνους απόκρισης. Η ανάλυση του RM χρησιμοποιείται σε συνδυασμό με αυτά τα συστήματα για την παροχή εγγυήσεων χρονοπρογραμματισμού για συγκεκριμένες εφαρμογές. Ο αλγόριθμος RM είναι ένα μαθηματικό μοντέλο το οποίο περιέχει μια υπολογισμένη προσομοίωση των περιόδων σε ένα κλειστό σύστημα, όπου ο αλγόριθμος Round- Robin και χρονοπρογραμματιστές χρονομερισμού αδυνατούν να ικανοποιήσουν τις ανάγκες χρονοπρογραμματισμού διαφορετικά. Ο αλγόριθμος RM ουσιαστικά καθορίζει πόσος χρόνος απαιτείται για την κάλυψη των εγγυήσεων για το σύνολο των εργασιών για χρονοπρογραμματισμό. 22

37 Οι Liu και Layland [21] απέδειξαν ότι, για ένα σύνολο n περιοδικών εργασιών με μοναδικές περιόδους, ένας εφικτός χρονοπρογραμματισμός που θα ικανοποιεί πάντα τις προθεσμίες υφίσταται όταν η χρήση της CPU είναι κάτω από ένα συγκεκριμένο βαθμό (ανάλογα με τον αριθμό των εργασιών). Το τεστ χρονοπρογραμματιστικής ικανότητας για τη μέθοδο RM είναι: U = C T n 2 1, όπου C είναι ο χρόνος εκτέλεσης, T είναι η περίοδος αποδέσμευσης (με προθεσμία ίση με μία περίοδο αργότερα), και n είναι ο αριθμός των εργασιών που πρέπει να χρονοπρογραμματιστούν. Για παράδειγμα, U 0,8284 για n = 2. Όταν ο αριθμός των εργασιών τείνει προς το άπειρο, η παραπάνω έκφραση τείνει προς το παρακάτω όριο: lim n( 2 1) = ln Έτσι, μια χονδρική εκτίμηση είναι ότι o RM στη γενική περίπτωση μπορεί να καλύψει όλες τις προθεσμίες, εάν η χρήση της CPU είναι 69,3%. Το άλλο 30,7% της CPU μπορεί να διατεθεί για χαμηλότερης προτεραιότητας εργασίες μη-πραγματικού χρόνου. Είναι γνωστό ότι ένα σύστημα τυχαίων περιοδικών εργασιών θα καλύψει όλες τις προθεσμίες, όταν η χρήση είναι 85% ή λιγότερο [74], ωστόσο το γεγονός αυτό εξαρτάται από το αν γνωρίζουμε τα ακριβή στατιστικά στοιχεία της εργασίας (περιόδους, προθεσμίες κ.λπ.), κάτι που δεν μπορεί να εξασφαλιστεί για όλα τα σύνολα των εργασιών. Ο αλγόριθμος RM είναι βέλτιστος υπό την έννοια ότι, αν τυχόν ένας στατικός αλγόριθμος χρονοπρογραμματισμού προτεραιότητας μπορεί να καλύψει όλες τις προθεσμίες, τότε ο αλγόριθμος RM μπορεί επίσης. Ο αλγόριθμος Deadline Monotonic (DM) είναι επίσης βέλτιστος με περιόδους ίσες με τις προθεσμίες, και 23

38 συγκεκριμένα σε αυτήν την περίπτωση οι αλγόριθμοι RM και DM είναι ίδιοι. Επιπλέον, ο αλγόριθμος DM είναι βέλτιστος όταν οι προθεσμίες είναι μικρότερες από τις περιόδους [75] Earliest Deadline First (EDF) Ο αλγόριθμος Earliest Deadline First (EDF) [21] είναι ένας αλγόριθμος χρονοπρογραμματισμού δυναμικής προτεραιότητας που επίσης χρησιμοποιείται κατά κόρον σε λειτουργικά συστήματα πραγματικού χρόνου. Ο αλγόριθμος EDF τοποθετεί τις εργασίες σε μια ουρά προτεραιότητας. Κάθε φορά που ένα συμβάν χρονοπρογραμματισμού εμφανίζεται (λήξη εργασίας, άφιξη νέας εργασία, κ.λπ.), γίνεται αναζήτηση στην ουρά για την εργασία που βρίσκεται πλησιέστερα στην προθεσμία της, και η οποία θα είναι και η επόμενη προς εκτέλεση. Μια τέτοια μέθοδος ανάθεσης προτεραιοτήτων στις εργασίες, όπως έχει ήδη αναφερθεί, ονομάζεται δυναμική, σε αντίθεση με μια στατική ανάθεση κατά την οποία οι προτεραιότητες των εργασιών δεν αλλάζουν με το χρόνο, όπως γίνεται στον αλγόριθμο RM. Ο αλγόριθμος EDF είναι ένας βέλτιστος αλγόριθμος χρονοπρογραμματισμού για υπολογιστικά συστήματα υπέρτερης προτεραιότητας με έναν επεξεργαστή (preemptive uniprosessor systems), κατά την ακόλουθη έννοια: αν μια συλλογή ανεξάρτητων εργασιών, η καθεμία από τις οποίες χαρακτηρίζεται από ένα χρόνο άφιξης, ένα χρόνο εκτέλεσης, καθώς και μία προθεσμία, μπορεί να χρονοπρογραμματιστεί (από οποιοδήποτε αλγόριθμο) έτσι ώστε όλες οι εργασίες να ολοκληρωθούν πριν τις προθεσμίες τους, ο EDF θα προγραμματίσει αυτή τη συλλογή των εργασιών, ούτως ώστε να εκτελεστούν πριν τις προθεσμίες τους. Κατά το χρονοπρογραμματισμό περιοδικών εργασιών που έχουν προθεσμίες ίσες με τις περιόδους τους, ο αλγόριθμος EDF επιτυγχάνει άνω όριο αξιοποίησης του 24

39 επεξεργαστή ίσο με 100%. Έτσι, το τεστ χρονοπρογραμματισμού για τον αλγόριθμο EDF είναι: U = C T 1, όπου {C } είναι οι χειρότεροι χρόνοι εκτέλεσης των εργασιών και {T }, είναι τα αντίστοιχα χρονικά διαστήματα μεταξύ των αφίξεων (τα οποία υποτίθεται ότι είναι ίσα με τις σχετικές προθεσμίες). Δηλαδή, ο EDF μπορεί να εγγυηθεί ότι όλες οι προθεσμίες ικανοποιούνται με την προϋπόθεση ότι η συνολική χρήση της CPU δεν υπερβαίνει το 100%. Έτσι, σε σύγκριση με τεχνικές χρονοπρογραμματισμού σταθερής προτεραιότητας όπως η τεχνική RM, o ΕDF μπορεί να εγγυηθεί την τήρηση όλων των προθεσμιών του συστήματος σε υψηλότερο φόρτο. Ωστόσο, όταν το σύστημα είναι υπερφορτωμένο, το σύνολο των εργασιών που θα χάσουν τις προθεσμίες είναι σε μεγάλο βαθμό απρόβλεπτο (θα είναι μια συνάρτηση με τις ακριβείς προθεσμίες και το χρόνο κατά τον οποίο η υπερφόρτωση συμβαίνει). Ο αλγόριθμος EDF είναι επίσης δύσκολο να εφαρμοστεί σε επίπεδο υλισμικού (hardware) και υπάρχει δυσκολία αναφορικά με την αναπαράσταση των προθεσμιών σε διαφορετικές κλίμακες (οι προθεσμίες θα πρέπει να έχουν στρογγυλοποιηθεί σε πεπερασμένα ποσά, συνήθως μερικά bytes το πολύ). Αντ' αυτού, τα περισσότερα υπολογιστικά συστήματα πραγματικού χρόνου χρησιμοποιούν χρονοπρογραμματισμό σταθερής προτεραιότητας (συνήθως τον RM). Κι αυτό γιατί με σταθερές προτεραιότητες είναι εύκολο να προβλεφθεί ότι σε συνθήκες υπερφόρτωσης οι εργασίες χαμηλής προτεραιότητας θα χάσουν τις προθεσμίες, ενώ η εργασία με την υψηλότερη προτεραιότητα θα εκτελεστεί μέσα στον προβλεπόμενο χρόνο. 25

40 Ωστόσο, υπάρχει ένας σημαντικός όγκος έρευνας που ασχολείται με τον χρονοπρογραμματισμό EDF σε συστήματα πραγματικού χρόνου, καθώς είναι δυνατόν να υπολογιστούν οι χειρότεροι χρόνοι απόκρισης των εργασιών, να υποστηριχθούν άλλα είδη εργασιών εκτός από περιοδικές εργασίες, καθώς και να χρησιμοποιηθούν εξυπηρετητές για τη ρύθμιση των υπερφορτίσεων. 26

41 3 Εφαρμογές Ελαστικού Πραγματικού Χρόνου Το κεφάλαιο αυτό εξηγεί τους λόγους για τους οποίους οι τεχνικές ελαστικού πραγματικού χρόνου διερευνούνται σε βάθος κατά τη διάρκεια των τελευταίων ετών για την υποστήριξη μιας σειράς εφαρμογών για τις οποίες η κλασσική μη-ελαστική προσέγγιση πραγματικού χρόνου δεν είναι κατάλληλη. Σε αυτήν την κατεύθυνση, παρουσιάζονται συγκεκριμένα παραδείγματα τέτοιων εφαρμογών από διαφορετικές τεχνολογικές περιοχές, όπως συστήματα πολυμέσων, συστήματα παρακολούθησης, συστήματα ρομποτικής, γραφικά πραγματικού χρόνου, διαδραστικές εφαρμογές όπως παιχνίδια, και εφαρμογές εικονικής πραγματικότητας. 3.1 Γενικά Τα συστήματα πραγματικού χρόνου, που χρησιμοποιούνται παραδοσιακά για την ανάπτυξη μεγάλων υπολογιστικών συστημάτων με απαιτήσεις ασφάλειας, επεκτάθηκαν πρόσφατα στη στήριξη νέων πεδίων εφαρμογών, τα οποία συχνά χαρακτηρίζονται από λιγότερο αυστηρές χρονικές απαιτήσεις, ανεπάρκεια πόρων, και πιο δυναμική συμπεριφορά. Για την παροχή της κατάλληλης υποστήριξης σε αυτές τις αναδυόμενες εφαρμογές, νέες μεθοδολογίες έχουν μελετηθεί για την επίτευξη 27

42 μεγαλύτερης ευελιξίας στο χειρισμό συνόλων από εργασίες με δυναμική συμπεριφορά, καθώς και για μεγαλύτερη αποτελεσματικότητα ως προς την αξιοποίηση των πόρων. Σε αυτό το κεφάλαιο περιγράφονται τα τυπικά χαρακτηριστικά των μη-ελαστικών και ελαστικών εφαρμογών πραγματικού χρόνου, και παρουσιάζονται κάποια συγκεκριμένα παραδείγματα για να τονιστεί η διαφορά τους όσον αφορά στις απαιτήσεις τους και την συμπεριφοράς τους κατά την εκτέλεση. Τα τελευταία χρόνια, οι αναδυόμενες, ευαίσθητες στον παράγοντα χρόνο, εφαρμογές εισήγαγαν την έννοια του πραγματικού χρόνου σε διάφορους νέους τομείς συμπεριλαμβανομένων των συστημάτων πολυμέσων, των συστημάτων παρακολούθησης, των δικτύων τηλεπικοινωνιών, των συστημάτων κινητής ρομποτικής, των εφαρμογών εικονικής πραγματικότητας, και των διαδραστικών ηλεκτρονικών παιχνιδιών, ανάμεσα σε άλλες. Σε τέτοια συστήματα, τα οποία ονομάζονται συστήματα ελαστικού πραγματικού χρόνου, οι εργασίες των εφαρμογών επιτρέπεται να έχουν λιγότερο αυστηρούς χρονικούς περιορισμούς, διότι η μη τήρηση των προθεσμιών δεν προκαλεί καταστροφικές συνέπειες, αλλά μόνο μια υποβάθμιση των επιδόσεων, η οποία συνήθως αξιολογείται μέσω κάποιας παραμέτρου ποιότητας των παρεχομένων υπηρεσιών (QoS). Επιπλέον, συχνά, τα συστήματα αυτά λειτουργούν σε πιο δυναμικά περιβάλλοντα όπου οι εργασίες μπορούν να δημιουργηθούν ή να τερματίζονται κατά το χρόνο εκτέλεσης, ή οι παράμετροι των εργασιών μπορούν να αλλάζουν από το ένα στιγμιότυπο στο άλλο. 28

43 3.2 Βασικά Χαρακτηριστικά Μεταβλητός χρόνος εκτέλεσης Υπάρχουν πολλές εφαρμογές ελαστικού πραγματικού χρόνου, στις οποίες η διάρκεια του χειρότερου χρόνου εκτέλεσης για κάποιες εργασίες εμφανίζεται σπάνια, αλλά έχει πολύ μεγαλύτερη διάρκεια από τη μέση περίπτωση. Σε συστήματα πολυμέσων, για παράδειγμα, ο χρόνος για την αποκωδικοποίηση ενός καρέ βίντεο μιας εφαρμογής αναπαραγωγής MPEG μπορεί να ποικίλλει σημαντικά σε συνάρτηση με τα δεδομένα που περιέχονται μέσα στα καρέ. Ένα επιπλέον παράδειγμα εργασίας με μεταβλητό χρόνο εκτέλεσης αποτελεί ένα οπτικό σύστημα παρακολούθησης, όπου προκειμένου να αυξήσει την ανταπόκριση, ο κινούμενος στόχος αναζητείται σε ένα μικρό παράθυρο το οποίο βρίσκεται κεντραρισμένο σε μια προβλεπόμενη θέση, και όχι σε ολόκληρο το οπτικό πεδίο. Εάν ο στόχος δεν βρίσκεται στην προβλεπόμενη ζώνη, η έρευνα πρέπει να εκτελεστεί σε μια ευρύτερη περιοχή έως ότου τελικά να σαρωθεί το σύνολο του οπτικού πεδίου στη χειρότερη περίπτωση. Εάν το σύστημα είναι καλά σχεδιασμένο, ο στόχος βρίσκεται πολύ γρήγορα στην προβλεπόμενη περιοχή τις περισσότερες φορές. Έτσι, η χειρότερη περίπτωση είναι πολύ σπάνια, αλλά πολύ ακριβή από πλευράς υπολογιστικών πόρων (ο χρόνος υπολογισμού αυξάνεται τετραγωνικά ως συνάρτηση του αριθμού των δοκιμών). Σε αυτή την περίπτωση, μια off-line εγγύηση που βασίζεται στους χειρότερους χρόνους εκτέλεσης (worst case execution times - WCETs) θα μείωνε δραστικά τη συχνότητα των εργασιών παρακολούθησης, προκαλώντας σοβαρή υποβάθμιση της απόδοσής τους σε σχέση με μια ελαστική εγγύηση με βάση το μέσο χρόνο εκτέλεσης. 29

44 Για να δώσουμε ένα συγκεκριμένο παράδειγμα, θεωρούμε μια βιντεοκάμερα η οποία παράγει εικόνες με διαστάσεις 512x512 εικονοστοιχεία (pixels), όπου ο στόχος είναι ένα στρογγυλό σημείο, διαμέτρου 30 pixels που κινείται μέσα στο οπτικό πεδίο. Σε αυτό το σενάριο, αν U είναι η αξιοποίηση του επεξεργαστή που απαιτείται για την παρακολούθηση του στόχου σε ένα μικρό παράθυρο 64x64 pixels με ρυθμό T, η εγγύηση χειρότερης περίπτωσης θα απαιτούσε η εργασία παρακολούθησης να τρέχει 64 φορές πιο αργά, ώστε να απαιτεί το ίδιο εύρος ζώνης σε ολόκληρο το οπτικό πεδίο (που είναι 64 φορές μεγαλύτερο). Είναι σαφές ότι στην συγκεκριμένη περίπτωση είναι πιο βολικό να εφαρμοστεί μια λιγότερο απαισιόδοξη εγγύηση, προκειμένου να αυξηθεί η ταχύτητα παρακολούθησης και κάποιες σποραδικές υπερβάσεις της εργασίας να γίνουν αποδεχτές ως μια φυσική συμπεριφορά του συστήματος Μεταβλητός ρυθμός εκτέλεσης Σε άλλες περιπτώσεις, περιοδικές εργασίες μπορεί να εκτελούνται με διαφορετικούς ρυθμούς κάτω από διαφορετικές συνθήκες λειτουργίας. Για παράδειγμα, σε ένα σύστημα ελέγχου πτήσης, ο ρυθμός δειγματοληψίας του υψόμετρου είναι συνάρτηση του τρέχοντος ύψους του αεροσκάφους: όσο χαμηλότερο είναι το υψόμετρο, τόσο μεγαλύτερη είναι η συχνότητα δειγματοληψίας. Παρόμοια ανάγκη εμφανίζεται και στις ρομποτικές εφαρμογές, στις οποίες τα ρομπότ πρέπει να λειτουργούν σε άγνωστα περιβάλλοντα, όπου η πορεία της λειτουργίας τους έχει προγραμματιστεί με βάση την τρέχουσα πληροφορία που συλλέγεται από τους αισθητήρες. Εάν ένα ρομπότ είναι εξοπλισμένο με αισθητήρες προσέγγισης, η ενεργοποίηση της εργασίας είναι συνάρτηση της ταχύτητας του κινητήρα Διαδραστικές και συνεργατικές Εφαρμογές Μια επιπλέον ειδική κατηγορία εφαρμογών ελαστικού πραγματικού χρόνου αποτελούν οι διαδραστικές εφαρμογές, όπου η έναρξή τους γίνεται από τον χρηστή 30

45 Βέλτιστη Κατανομή Ροών Εργασίας Πραγματικού Χρόνου με Πιθανοτική Εγγύηση Επιπέδου Υπηρεσίας της εφαρμογής και δεν είναι προκαθορισμένη, και επιπλέον οι χρηστές είναι σε θέση να σταματήσουν την εφαρμογή, όποτε αυτό είναι επιθυμητό και για όσο χρόνο επιθυμούν, και στην συνέχεια να την ξεκινήσουν ξανά. Επιπλέον, στην ειδική περίπτωση των συνεργατικών εφαρμογών, ένας αριθμός χρηστών συνεργάζεται για την επίτευξη ενός κοινού στόχου κάνοντας χρήση της ίδιας εφαρμογής. Για να δώσουμε ένα συγκεκριμένο παράδειγμα, θεωρούμε μια ομάδα τεχνικών εικόνας και χρώματος (colorists), που κάνουν χρήση ενός colour grading station ([78]) κατά τη διάρκεια της μεταπαραγωγής (post-production) μιας ταινίας διεθνούς παράγωγης. Ένα παράδειγμα τέτοιου είδους color grading station για την μεταπαραγωγή ταινιών είναι το σύστημα Bones Digital Dailies [79], όπως απεικονίζεται στο Σχήμα 5. Οι colorists συνδέονται μέσω μιας συνεργατικής εφαρμογής για να επανεξετάσουν από κοινού τις σκηνές που τραβήχτηκαν την προηγούμενη μέρα (που εν μέρει έχουν επεξεργαστεί, και έχει διορθωθεί το χρώμα και ο ήχος τους) και να συζητήσουν τις απαραίτητες διορθώσεις με τον σκηνοθέτη, το διευθυντή φωτογραφίας και τον παραγωγό, κάθε ένας από τους οποίους διαθέτει έναν viewing station (Σχήμα 6) και βρίσκονται σε διαφορετικές τοποθεσίες (Σχήμα 7). Σχήμα 5. Εφαρμογή Bones: στιγμιότυπο του grading station [79]. 31

46 Βέλτιστη Κατανομή Ροών Εργασίας Πραγματικού Χρόνου με Πιθανοτική Εγγύηση Επιπέδου Υπηρεσίας Σχήμα 6. Εφαρμογή Bones: στιγμιότυπο του viewing station [79]. Σχήμα 7. Παράδειγμα συνεργατικής διαδραστικής εφαρμογής μεταπαραγωγής ταινιών. 32

47 Η απεικόνιση των καρέ της ταινίας πρέπει να γίνεται με συγχρονισμένο τρόπο, δηλαδή η κατανεμημένη εφαρμογή streaming, η οποία βρίσκεται στο κέντρο της αρχιτεκτονική που παρουσιάζεται στο Σχήμα 7, πρέπει να παρέχει πολλαπλές ροές με το ίδιο περιεχόμενο στα μέλη της ομάδας προκειμένου να συζητηθεί η ποιότητα των λήψεων. Όταν απαιτείται, η ροή εικόνας μπορεί να σταματήσει, ώστε τα μέλη της ομάδας να μπορέσουν να συζητήσουν τις αναγκαίες αλλαγές ανάμεσά τους, και μετά την εκτέλεση των αντίστοιχων προσαρμογών (π.χ. ρυθμίσεις χρώματος), επαναλαμβάνουν τη διορθωμένη ροή καρέ, έτσι ώστε ο καθένας από την ομάδα να μπορεί να συμφωνήσει με τις αλλαγές. Ένα παράδειγμα μιας τέτοιας κατανεμημένης εφαρμογής streaming σχεδιάστηκε και υλοποιήθηκε στα πλαίσια του Ευρωπαϊκού ερευνητικού έργου IRMOS [80] και εμφανίζεται στο Σχήμα 8. Σχήμα 8. Παράδειγμα κατανεμημένης αρχιτεκτονικής συνεργατικής εφαρμογής streaming [80]. 33

48 Ένα άλλο παράδειγμα διαδραστικής-συνεργατικής εφαρμογής βρίσκεται στην περιοχή του σύγχρονου σχεδιασμού των προϊόντων, όπου οι διαδικασίες εικονικής και επαυξημένης πραγματικότητας (virtual and augmented reality) γίνονται όλο και πιο σημαντικές για τη βελτιστοποίηση των πρωτοτύπων των προϊόντων. Για αυτές τις εργασίες, χρησιμοποιείται εξειδικευμένο λογισμικό, όπως το COVISE [72], το οποίο επιτρέπει τη δημιουργία μιας ροής εργασιών με βάση τις ανάγκες του σχεδιαστή και/ή του μηχανικού αναφορικά με υπολογισμούς προσομοίωσης που έχουν εκτελεστεί προηγουμένως σε εξειδικευμένο hardware. Για ιδανική εξέταση των αποτελεσμάτων, το COVISE προσφέρει διαφορετικά τρισδιάστατα περιβάλλοντα απεικόνισης, ξεκινώντας από την επιφάνεια εργασίας ενός υπολογιστή και φτάνοντας έως πλήρως εξελιγμένα περιβάλλοντα τρισδιάστατης οπτικοποίησης. Διαφορετικός συνδυασμός των μονάδων εισόδου δεδομένων, με την επεξεργασία των δεδομένων, τα δεδομένα αναφορικά με τον χρωματισμό, και τις ενότητες ανίχνευσης σωματιδίων παρέχουν την καλύτερη απεικόνιση για κάθε διαφορετικό σενάριο. Εκτός από αυτό, μέσω του COVISE είναι δυνατή η ενσωμάτωση των πραγματικών φυσικών πειραμάτων μέσω της επαυξημένης πραγματικότητας για σκοπούς αξιολόγησης της προσομοίωσης και εφαρμογής στα σενάρια. Ο συγχρονισμός της ζωντανής ροής βίντεο με τις πληροφορίες εντοπισμού θέσης, εισάγει αυστηρούς περιορισμούς ως προς τους χρόνους εκτέλεσης των επιμέρους εργασιών που αποτελούν την εφαρμογή. Για παράδειγμα, μια αυτοκινητοβιομηχανία θέλει να αξιολογήσει τα αποτελέσματα προσομοίωσης ενός πρωτότυπου μοντέλου αυτοκινήτου σε σύγκριση με πραγματικά πειράματα που πραγματοποιήθηκαν σε αεροδυναμική σήραγγα χρησιμοποιώντας ένα μοντέλο του αυτοκίνητου. Αυτό απαιτεί την εγκατάσταση αιολικής σήραγγα για το 34

49 πείραμα. Δεδομένου ότι η αυτοκινητοβιομηχανία δεν διαθέτει τέτοια εγκατάσταση πρέπει να αγοράσει την υπηρεσία αυτή. Ως εκ τούτου μια άλλη εταιρεία, π.χ. ένα πανεπιστήμιο, προσφέρει μια τέτοια υπηρεσία σε πελάτες, όπως η αυτοκινητοβιομηχανία. Η αυτοκινητοβιομηχανία και το πανεπιστήμιο χρησιμοποιούν το COVISE για την τρισδιάστατη οπτικοποίηση των δεδομένων προσομοίωσης. Για την αποτελεσματική λειτουργία των μονάδων λογισμικού που αποτελούν την εφαρμογή, είναι απαραίτητο οι πόροι να ανταποκρίνονται στις ανάγκες της εφαρμογής ως προς την επεξεργαστική ισχύ, το εύρος ζώνης και την πτητικήπροσωρινή μνήμη. Το πανεπιστήμιο μπορεί να ξεκινήσει την διαδικασία της αξιολόγησης με την έναρξη της εφαρμογής. Εικόνες video του μοντέλου που καταγράφονται σε πραγματικό χρόνο στην αεροδυναμική σήραγγα επικαλύπτονται με τα δεδομένα προσομοίωσης του πελάτη, τεχνική που ονομάζεται επαυξημένη πραγματικότητα. Κατά συνέπεια, αυτό σημαίνει ότι τα δεδομένα προσομοίωσης πρέπει να είναι στη διάθεση των χρηστών της εφαρμογής. Για να είναι σε θέση η αυτοκινητοβιομηχανία να εκτελέσει την αξιολόγηση για την ίδια οπτικοποίηση επαυξημένης πραγματικότητας με αυτή που διαθέτει το πανεπιστημιακό ίδρυμα, το βίντεο πρέπει να αποστέλλεται σε συνεχή ροή πραγματικού χρόνου προς την αυτοκινητοβιομηχανία, σε συνδυασμό με τις απαιτούμενες πληροφορίες αναφορικά με τον συγχρονισμό θέσης του πρότυπου μοντέλου σε σχέση με τη σκηνή οπτικοποίησης. Από τα στοιχεία αυτά, δηλαδή τη ροή βίντεο και τα στοιχεία της προσομοίωσης, η ίδια οπτικοποίηση επαυξημένης πραγματικότητας μπορεί να παρασχεθεί στην αυτοκινητοβιομηχανία. Επιπλέον, τα δύο μέρη, δηλαδή το πανεπιστήμιο και η αυτοκινητοβιομηχανία επικοινωνούν μέσω βίντεο και ήχου (conferencing) 35

50 παράλληλα με τη ρύθμιση απεικόνισης για να συζητήσουν και εντοπίσουν προβληματικά ζητήματα στο πρωτότυπο που πρέπει να αξιολογηθούν. Αυτό επιτρέπει σε όλους τους συνεργάτες-χρήστες να επηρεάσουν την οπτικοποίηση, είτε μέσω της αλλαγής ειδικών παραμέτρων εντός των προβλεπόμενων αλληλεπιδράσεων από το περιβάλλον οπτικοποίησης για κάθε χρήστη είτε να επικοινωνήσουν τις αλλαγές σε ένα συνεργάτη, ο οποίος έχει τη δυνατότητα να εφαρμόσει αυτές τις αλλαγές. Τέλος, ένα ακόμα παράδειγμα διαδραστικής εφαρμογής ελαστικού πραγματικού χρόνου βρίσκεται στον τομέα της ηλεκτρονικής μάθησης (e-learning), όπως αυτής που χρησιμοποιήθηκε στα πλαίσια του Ευρωπαϊκού ερευνητικού έργου IRMOS [80] [81] (Σχήμα 9 και Σχήμα 10). Ας θεωρήσουμε έναν επισκέπτη σε ένα μουσείο, ο οποίος διαθέτει ένα κινητό τηλέφωνο, και ότι το μουσείο είναι εξοπλισμένο με ένα σύστημα εντοπισμού εσωτερικού χώρου. Όταν ο επισκέπτης πλησιάζει ένα έργο τέχνης, λαμβάνει ενημερωτικό περιεχόμενο σχετικά με το συγκεκριμένο έργο τέχνης στο κινητό του τηλέφωνο, το οποίο προέρχεται από έναν κεντρικό εξυπηρετητή. Το εσωτερικό σύστημα εντοπισμού θέσης βρίσκεται σε συνεχή επικοινωνία με το συγκεκριμένο εξυπηρετητή για την αποστολή της θέσης του επισκέπτη και για τη διαθεσιμότητα ενημερωτικού περιεχομένου. Σχήμα 9. Εφαρμογή e-learning στα πλαίσια του IRMOS [80][81]. 36

51 Σχήμα 10. Κατανεμημένη αρχιτεκτονική της εφαρμογής e-learning στα πλαίσια του IRMOS [80] [81]. 3.3 Συμπεράσματα Σε όλα αυτά τα παραδείγματα εφαρμογών, οι παράμετροι των εργασιών δεν είναι σταθερές, όπως συνήθως συμβαίνει με τις μη-ελαστικές εργασίες, αλλά ποικίλλουν από το ένα στιγμιότυπο εργασίας στο άλλο, ανάλογα με τα δεδομένα προς επεξεργασία. Το πρόβλημα γίνεται ακόμα πιο έντονο όταν το λογισμικό πραγματικού χρόνου δεν εκτελείται πάνω σε σύγχρονες πλατφόρμες υλικού, οι οποίες περιλαμβάνουν μηχανισμούς χαμηλού επιπέδου, όπως η διασωλήνωση (pipelining), προαναζήτηση (prefetching), προσωρινή αποθήκευση (cashing), ή το DMA. Στην πραγματικότητα, παρόλο που οι μηχανισμοί αυτοί βελτιώνουν τη μέση συμπεριφορά των εργασιών, επιδεινώνουν τη χειρότερη περίπτωση εκτέλεσης, καθιστώντας έτσι πολύ πιο δύσκολο να γίνουν ακριβείς εκτιμήσεις για τους χρόνους υπολογισμού χειρότερης κατάστασης. Για να υπάρξουν πιο ακριβείς πληροφορίες σχετικά με τη συμπεριφορά αυτών των δυναμικών υπολογιστικών δραστηριοτήτων, 37

52 θα μπορούσε κανείς να περιγράψει κάποιες από τις εμπλεκόμενες παραμέτρους μέσω μιας κατανομής πιθανοτήτων που προέρχεται από πειραματικά δεδομένα. Κατ 'αρχήν, εάν ένα σύνολο εργασιών με μη-ελαστικούς χρονικούς περιορισμούς μπορεί να χρονοπρογραμματιστεί από έναν χρονοπρογραμματιστή μη-ελαστικού πραγματικού χρόνου, είναι επίσης εφικτό να χρονοπρογραμματιστεί αν οι ίδιοι περιορισμοί θεωρηθούν ελαστικοί. Ωστόσο, υπάρχουν ορισμένα προβλήματα που πρέπει να ληφθούν υπόψη όταν χρησιμοποιείται μια σχεδιαστική προσέγγιση μηελαστικού πραγματικού για την υποστήριξη μιας εφαρμογής ελαστικού πραγματικού χρόνο. Πρώτα απ' όλα, όπως ήδη προαναφέρθηκε, η χρήση των χειρότερων χρόνων εκτέλεσης θα προκαλούσε σπατάλη των υπολογιστικών πόρων του συστήματος, οι οποίοι θα χρησιμοποιούνται τον περισσότερο χρόνο, απλά και μόνο για να είναι το σύστημα σε θέση να αντιμετωπίσει ορισμένες σποραδικές συνθήκες πολύ υψηλού φόρτου (peak loads). Για εφαρμογές με βαρύ υπολογιστικό φόρτο (π.χ. γραφικό περιβάλλον), μια τέτοια απώλεια πόρων θα συνεπαγόταν σοβαρή υποβάθμιση της απόδοσης ή σημαντική αύξηση του κόστους λειτουργίας του συστήματος. Από την άλλη πλευρά, η αποτελεσματικότητα της χρήσης των πόρων μπορεί να αυξηθεί με από την αποδοχή κάποιας παροδικής υπερφόρτωσης του συστήματος, επιτρέποντας ορισμένες φορές ο φόρτος να υπερβαίνει το ένα, και έτσι να χάνονται κάποιες προθεσμίες. Ένα άλλο πρόβλημα με τη μη-ελαστική προσέγγιση πραγματικού χρόνου είναι ότι, σε πολλές πρακτικές περιπτώσεις, ακριβής εκτίμηση των χειρότερων χρόνων εκτέλεσης (WCETs) είναι πολύ δύσκολο να επιτευχθεί. Στην πραγματικότητα, πολλοί από τους μηχανισμούς χαμηλού επίπεδου που είναι παρόντες στις σύγχρονες αρχιτεκτονικές υπολογιστών (όπως interrupts, DMA, διασωλήνωση (pipelining), caching, και 38

53 προαναζήτηση (prefetching)) εισάγουν μια μη ντετερμινιστική συμπεριφορά κατά την εκτέλεση των εργασιών, η διάρκεια των οποίων δεν είναι δυνατόν να προβλεφθεί εκ των προτέρων. Ακόμα κι αν μια ακριβής εκτίμηση του WCET θα μπορούσε να ήταν εφικτή για μια εφαρμογή, μια ανάλυση που βασίζεται στους χειρότερους χρόνους εκτέλεσης θα ήταν πολύ αναποτελεσματική όταν οι χρόνοι εκτέλεσης των εργασιών έχουν υψηλή διακύμανση. Στην περίπτωση αυτή, μια κλασική off-line μη-ελαστική εγγύηση θα οδηγούσε στην απώλεια υπολογιστικών πόρων για τη διατήρηση της εφικτότητας χρονοπρογραμματισμού των εργασιών, κάτω από τις σποραδικές καταστάσεις φόρτου κορυφής, ακόμη και αν ο μέσος φόρτος εργασίας είναι πολύ χαμηλότερος. Αυτή η σπατάλη πόρων (η οποία αυξάνει το κόστος λειτουργίας του συνολικού συστήματος) μπορεί να δικαιολογηθεί όταν πρόκειται για πολύ κρίσιμες εφαρμογές (π.χ. στρατιωτικά συστήματα άμυνας ή συστήματα ασφάλειας διαστημικών αποστόλων), στις οποίες μία μεμονωμένη απώλεια προθεσμίας μπορεί να προκαλέσει καταστροφικές συνέπειες. Ωστόσο, δεν αποτελούν μια καλή λύση για τις εφαρμογές στις οποίες ένας αριθμός μη τήρησης προθεσμιών μπορεί να γίνει ανεκτός από το σύστημα, εφόσον οι μέσοι ρυθμοί εκτέλεσης των εργασιών είναι εγγυημένοι. Από την άλλη πλευρά, οι ανεξέλεγκτες υπερβάσεις είναι πολύ επικίνδυνες εάν δεν διαχειρίζονται σωστά, δεδομένου ότι μπορούν να επηρεάσουν σε μεγάλο βαθμό την εκτέλεση άλλων εργασιών, οι οποίες θα μπορούσαν να είναι πιο κρίσιμες. Για την αντιμετώπιση των προβλημάτων που περιγράφηκαν παραπάνω αναφορικά με την αποδοτική διαχείριση εφαρμογών ελαστικού πραγματικού χρόνου, χρησιμοποιείται μια γενική τεχνική που βασίζεται στην έννοια της δέσμευσης πόρων, η οποία αποτέλεσε τη βάση της παρούσας διατριβής και η οποία περιγράφεται αναλυτικά στο κεφάλαιο που ακολουθεί. 39

54 Η σελίδα αυτή είναι σκόπιμα λευκή. 40

55 4 Δέσμευση Πόρων Μια γενική τεχνική για την αποδοτικότερη διαχείριση εφαρμογών ελαστικού πραγματικού χρόνου βασίζεται στην έννοια της δέσμευσης πόρων, σύμφωνα με την οποία σε κάθε εργασία ανατίθεται ένα ποσοστό των διαθέσιμων πόρων και διαχειρίζεται από έναν αφοσιωμένο εξυπηρετητή, ο οποίος εμποδίζει την εργασία που εκτελείται από το να απαιτήσει μεγαλύτερο από το δεσμευμένο ποσοστό. Σύμφωνα με την προσέγγιση αυτή η τοποθέτηση μιας εφαρμογής σε φυσικούς υπολογιστικούς πόρους χαρακτηρίζεται όχι μόνο ως προς το μερίδιο της επεξεργαστικής ισχύος που της αποδίδεται αλλά και από την επιθυμητή μονάδα χρόνου. Παρόλο που μια τέτοια μέθοδος είναι απαραίτητη για την επίτευξη προβλεψιμότητας υπό την παρουσία εργασιών με μεταβλητούς χρόνους εκτέλεσης, η απόδοση του συνολικού συστήματος γίνεται αρκετά εξαρτώμενη από την ορθή κατανομή των πόρων. Για παράδειγμα, αν το υπολογιστικό εύρος ζώνης που διατίθεται σε μια εργασία είναι πολύ μικρότερο από το μέσο όρο του απαιτούμενου, η εργασία μπορεί να επιβραδυνθεί πάρα πολύ, υποβιβάζοντας σε μεγάλο βαθμό την απόδοση του συστήματος. Από την άλλη πλευρά, εάν το υπολογιστικό εύρος ζώνης είναι πολύ μεγαλύτερο από τις πραγματικές ανάγκες, το σύστημα θα λειτουργεί με χαμηλή απόδοση, σπαταλώντας τους διαθέσιμους πόρους. 41

56 Η κατηγορία των αλγορίθμων δέσμευσης των πόρων περιλαμβάνει αλγόριθμους που προέρχονται από την κλασική θεωρία χρονοπρογραμματισμού πραγματικού χρόνου. Οι πρώτοι αλγόριθμοι, οι οποίοι ονομάζονταν γενικά «απεριοδικοί εξυπηρετητές», προτάθηκαν για τον χρονοπρογραμματισμό ελαστικών απεριοδικών εργασιών πραγματικού χρόνου, καθώς και μη ελαστικών εργασιών πραγματικού χρόνου. Ο στόχος ήταν να ελαχιστοποιηθεί ο χρόνος απόκρισης των απεριοδικών εργασιών χωρίς να τίθενται σε κίνδυνο οι μη-ελαστικές εργασίες πραγματικού χρόνου. Αλγόριθμοι για απεριοδικούς εξυπηρετητές προτάθηκαν τόσο για χρονοπρογραμματισμό σταθερής προτεραιότητας όσο και για χρονοπρογραμματισμό δυναμικής προτεραιότητας. Στο χρονοπρογραμματισμό σταθερής προτεραιότητας, οι βασικοί αλγόριθμοι είναι οι Polling Server, Deferrable Server (DS) και Sporadic Server (SS) [58][59][60]. Στο χρονοπρογραμματισμό δυναμικής προτεραιότητας, οι σημαντικότεροι αλγόριθμοι είναι οι Total Bandwidth Server (TBS) [56][57] και Constant Bandwidth Server (CBS) [61][62]. Μια παρόμοια προσέγγιση με τους απεριοδικούς εξυπηρετητές εφαρμόστηκε για πρώτη φορά στις πολυμεσικές εφαρμογές πραγματικού χρόνου από τους Mercer et al. [65] με σαφή σκοπό την παροχή χρονικής προστασίας (temporal isolation). Αργότερα, οι Rajkumar et al. [64] εισήγαγαν τον όρο «δέσμευση πόρων-resource reservation» για να αναφερθούν σε αυτήν την κατηγορία των τεχνικών. Σε όλους τους προαναφερόμενους αλγορίθμους (με εξαίρεση τον TBS), ένας εξυπηρετητής χαρακτηρίζεται από έναν προϋπολογισμό Q και μια περίοδο P. Το μερίδιο επεξεργαστή που αποδίδεται σε κάθε εξυπηρετητή είναι Q P. Στην αρχική διατύπωση αυτών των αλγορίθμων, ένας εξυπηρετητής οριζόταν για ολόκληρο το σύστημα, με σκοπό την εξυπηρέτηση όλων των απεριοδικών εργασιών σε First Come-First-Served (FCFS) τάξη. Η συμπεριφορά του εξυπηρετητή είναι παρόμοια με 42

57 εκείνου μιας περιοδικής μη-ελαστικής εργασίας πραγματικού χρόνου με το χρόνο εκτέλεσης στη χειρότερη περίπτωση να ισούται με τον προϋπολογισμό Q και για διάστημα ίσο με P. Ως εκ τούτου, είναι δυνατό να εφαρμοστούν οι υπάρχουσες μέθοδοι ανάλυσης χρονοπρογραμματισμού πραγματικού χρόνου για τον έλεγχο της ποιότητας χρονοπρογραμματισμού του συστήματος. Οι αλγόριθμοι δέσμευσης παρέχουν την ιδιότητα χρονικής προστασίας. Σε μια πιθανή ρύθμιση, κάθε εργασία πραγματικού χρόνου στο σύστημα (περιοδική ή απεριοδική, ελαστική ή μη-ελαστική) αντιστοιχίζεται σε έναν αφοσιωμένο εξυπηρετητή με μερίδιο Q P, υπό τον περιορισμό ότι: Q U, P όπου Ν είναι ο αριθμός των εργασιών στο σύστημα και U o βαθμός αξιοποίησης, ο οποίος εξαρτάται από τον επιλεγμένο αλγόριθμο χρονοπρογραμματισμού. Στη συνέχεια, κάθε εργασία εγγυημένα θα έχει έναν προϋπολογισμό Q, κάθε περίοδο εξυπηρετητή P, ανεξάρτητα από τη συμπεριφορά των άλλων εργασιών του συστήματος. Είναι σημαντικό να σημειωθεί ότι κατά τη ρύθμιση «ένας εξυπηρετητής ανά εργασία», η θεώρηση περί περιοδικών ή σποραδικών εργασιών μπορεί να παραληφτεί. Για παράδειγμα, ας θεωρήσουμε μια μη-διαδραστική, μη-πραγματικού χρόνου εργασία (όπως για παράδειγμα έναν πολύπλοκο επιστημονικό υπολογισμό ή τη μεταγλώττιση (compilation) ενός μεγάλου προγράμματος). Με την ανάθεση ενός εξυπηρετητή με ένα συγκεκριμένο προϋπολογισμό και περίοδο, η εργασία αυτή θα λάβει μια σταθερή και ίση κατανομή του επεξεργαστή, ανεξάρτητα από την παρουσία άλλων (πραγματικού χρόνου ή μη) εργασιών στο σύστημα. 43

58 Επίσης σε αυτό το σημείο είναι σημαντικό να υπογραμμιστούν οι βασικές διαφορές μεταξύ των τεχνικών που στηρίζονται στη δέσμευση πόρων και των τεχνικών δίκαιου χρονοπρογραμματισμού (fair scheduling), όπως οι τεχνικές Proportional Share [31] και Pfair [77] οι οποίες στοχεύουν στο να προσεγγίσουν την έννοια της ρευστής τοποθέτησης (fluid allocation-generalized Processor Sharing), σύμφωνα με την οποία κάθε εφαρμογή που κάνει χρήση των πόρων έχει απόδοση ανάλογη με ένα δεδομένο βάρος. Ο κύριος στόχος του δίκαιου χρονοπρογραμματισμού είναι να «συγκρατηθεί» η απόκλιση μεταξύ της εκτέλεσης εργασιών και την ιδανικής «ρευστής» κατανομής όσο το δυνατόν πλησιέστερα στο μηδέν. Για το λόγο αυτό, κατά τον χρονοπρογραμματισμό του επεξεργαστή, αυτοί οι αλγόριθμοι πρέπει να εισάγουν την έννοια του «κβαντικού χρονοπρογραμματισμού» που είναι η βασική μονάδα της κατανομής: όσο μικρότερο είναι το κβάντο, τόσο μικρότερο είναι το όριο της καθυστέρησης. Ωστόσο, ένα μικρό κβάντο συνεπάγεται ένα μεγάλο αριθμό διακοπτών πλαισίου (context switches). Επιπλέον, μόλις το κβάντο έχει καθοριστεί για το σύνολο του συστήματος, σε κάθε εργασία ανατίθεται μια μόνο παράμετρος, το βάρος (ή μερίδιο στην περίπτωση των χρονοπρογραμματιστών P-fair). Η διακριτότητα της κατανομής εξαρτάται από το κβάντο, ενώ το μερίδιο του επεξεργαστή εξαρτάται από το βάρος της εργασίας. Επομένως, εάν μια εργασία απαιτεί πολύ μικρή διακριτότητα, πρέπει να μειωθεί το κβάντο, με αποτέλεσμα να είναι αναγκαίος ένας μεγάλο αριθμός αλλαγών στους διακόπτες, και έτσι να αυξάνεται το επίβαρο (overhead). Αντίθετα, ο στόχος ενός αλγορίθμου δέσμευσης πόρων είναι να διατηρήσει την κατανομή των πόρων υπό έλεγχο έτσι ώστε μια εργασία να μπορεί να ικανοποιήσει τους χρονικούς της περιορισμούς. Για το σκοπό αυτό, κάθε δέσμευση συνδέεται με 44

59 δύο παραμέτρους, τον προϋπολογισμό Q και την περίοδο P. Η περίοδος της δέσμευσης αντιπροσωπεύει τη διακριτότητα της κατανομής που απαιτείται από την αντίστοιχη εργασία, ενώ το ποσοστό Q P αντιπροσωπεύει το μερίδιο του επεξεργαστή. Ως εκ τούτου, σε αντίθεση με τους δίκαιους χρονοπρογραμματιστές, στις τεχνικές δέσμευσης πόρων είναι δυνατή η επιλογή της πλέον κατάλληλης διακριτότητας για κάθε εργασία. Εάν μια εργασία απαιτεί μια πολύ μικρή διακριτότητα, η διάρκεια της δέσμευσης πρέπει να μειωθεί αντίστοιχα, ενώ οι άλλες δεσμεύσεις μπορούν να έχουν ένα μεγάλο χρονικό διάστημα. Στη γενική περίπτωση, είναι δυνατό να αποδειχθεί ότι ο αριθμός των context switches που παράγεται από ένα χρονοπρογραμματιστή δέσμευσης πόρων είναι πολύ μικρότερος από τον αριθμό που παράγεται από ένα χρονοπρογραμματιστή αναλογικού μεριδίου (proportional share scheduler). 4.1 Τεχνικές Δέσμευσης Πόρων Ένας απλός και αποτελεσματικός μηχανισμός για την εφαρμογή χρονικής προστασίας (temporal isolation) σε ένα σύστημα πραγματικού χρόνου είναι να γίνεται δέσμευση ενός συγκεκριμένου ποσοστού του χρόνου της CPU Q, σε κάθε χρονικό διάστημα P για κάθε εργασία r. Αυτή η γενική προσέγγιση μπορεί να εφαρμοστεί και για άλλους πόρους εκτός από την CPU, όπως πόροι δικτύου, μνήμης, αποθηκευτικού χώρου, αλλά σε αυτό το κεφάλαιο για λόγους συντομίας θα επικεντρωθούμε κυρίως στους πόρους CPU. Μερικοί συγγραφείς [64] έχουν την τάση να κάνουν διάκριση μεταξύ ελαστικών και μη-ελαστικών δεσμεύσεων. 45

60 Ορισμός 4.1 Μια μη-ελαστική δέσμευση είναι μια «αφαίρεση» που εγγυάται τον δεσμευμένο χρόνο σε μια εργασία, αλλά επιτρέπει στην εν λόγω εργασία να εκτελείται το πολύ Q χρονικές μονάδες κάθε P χρονικές μονάδες. Ορισμός 4.2 Μια ελαστική δέσμευση είναι μια δέσμευση που εγγυάται ότι μια εργασία θα εκτελεστεί τουλάχιστον Q χρονικές μονάδες κάθε P, επιτρέποντας της να εκτελεστεί περαιτέρω αν υπάρχει διαθέσιμος χρόνος, δηλαδή αν το σύστημα είναι σε αδράνεια. Μια τεχνική δέσμευσης πόρων για χρονοπρογραμματισμό σταθερής προτεραιότητας παρουσιάστηκε για πρώτη φορά στην μελέτη [65]. Σύμφωνα με αυτή τη μέθοδο, σε μια εργασία τ, αποδίδεται αρχικά το ζεύγος (Q, P ) (το οποίο ονομάζεται δεσμευμένη χωρητικότητα CPU ή πιο απλά προϋπολογισμός) και στη συνέχεια η εν λόγω εργασία είναι σε θέση να εκτελεστεί ως μια εργασία πραγματικού χρόνου για Q μονάδες χρόνου κάθε P. Όταν η εργασία καταναλώνει το δεσμευμένο χρόνο Q, θα σταματήσει μέχρι την επόμενη περίοδο, αν η δέσμευση είναι μη-ελαστική, ή εκτελείται στο παρασκήνιο ως εργασία μη-πραγματικού χρόνου, εάν η κράτηση είναι ελαστική. Κατά την έναρξη της επόμενης περιόδου, η εργασία θα λάβει έναν νέο κβαντικό χρόνο Q, και θα χρονοπρογραμματιστεί ως μια εργασία πραγματικού χρόνου έως ότου λήξει ο προϋπολογισμός της. Με αυτόν τον τρόπο, μια εργασία αναδιαμορφώνεται έτσι ώστε να συμπεριφέρεται σαν μια περιοδική εργασία πραγματικού χρόνου με γνωστές παραμέτρους (Q, P ) και μπορεί να προγραμματιστεί σωστά από έναν κλασικό χρονοπρογραμματιστή πραγματικού χρόνου. Μια παρόμοια τεχνική χρησιμοποιείται σε δίκτυα υπολογιστών από τους διαμορφωτές της κυκλοφορίας (traffic shapers), όπως η τεχνική leaky bucket ή token bucket [66]. Πιο τυπικά, μια τεχνική δέσμευσης πόρων μπορεί να οριστεί ως εξής: 46

61 Μια δέσμευση RSV χαρακτηρίζεται από δύο παραμέτρους (Q, P) που ονομάζονται μέγιστος προϋπολογισμός και περίοδος δέσμευσης αντίστοιχα. Έναν προϋπολογισμό q (που αναφέρεται επίσης ως χωρητικότητα), και σχετίζεται με κάθε δέσμευση. Στην αρχή της κάθε περιόδου δέσμευσης, ο προϋπολογισμός q επαναφορτίζεται σε Q. Όταν εκτελείται μια εργασία μέσα σε μια δέσμευση, ο προϋπολογισμός της μειώνεται αναλόγως. Όταν ο προϋπολογισμός γίνεται μηδέν, η δέσμευση λέμε ότι έχει εξαντληθεί και κατάλληλα μέτρα πρέπει να ληφθούν. Οι ενέργειες που πρέπει να ληφθούν όταν η δέσμευση εξαντλείται εξαρτάται από τον τύπο της δέσμευσης (ελαστική ή μη-ελαστική). Σε μια μη-ελαστική δέσμευση, η εργασία αναστέλλεται έως ότου ο προϋπολογισμός έχει επαναφορτιστεί, και μια άλλη εργασία μπορεί να εκτελεστεί. Αν ανασταλούν όλες οι εργασίες, το σύστημα παραμένει σε αδράνεια μέχρι την πρώτη εκδήλωση επαναφόρτισης. Έτσι, στην περίπτωση των μη-ελαστικών δεσμεύσεων, ο αλγόριθμος χρονοπρογραμματισμού λέγεται ότι είναι non work-conserving. Σε μια ελαστική κράτηση, εάν ο προϋπολογισμός είναι εξαντλημένος και η εργασία δεν έχει ακόμη ολοκληρωθεί, η προτεραιότητα εργασίας υποβαθμίζεται σε προτεραιότητα παρασκήνιου μέχρι την επαναφόρτιση του προϋπολογισμού. Με αυτόν τον τρόπο, η εργασία μπορεί να επωφεληθεί του αχρησιμοποίητου εύρους ζώνης των πόρων του συστήματος. Όταν όλες οι δεσμεύσεις είναι ελαστικές, ο αλγόριθμος ονομάζεται work-conserving. Τo Σχήμα 11 δείχνει πώς οι εργασίες τ και τ έχουν χρονοπρογραμματιστεί χρησιμοποιώντας δύο μη-ελαστικές δεσμεύσεις CPU RSV και RSV με Q = 2, P = 47

62 3, Q = 1, και P = 5, υπό τον αλγόριθμο RM. Η ίδια εικόνα παρουσιάζει και τη χρονική εξέλιξη των προϋπολογισμών q και q. Εφόσον οι δεσμεύσεις βασίζονται στον RM, η δέσμευση RSV έχει προτεραιότητα έναντι της RSV, και η εργασία τ θα αρχίσει να εκτελείται. Μετά από 2 μονάδες χρόνου, η εργασία τ ολοκληρώνεται και η τ ξεκινά την εκτέλεση. Στην χρονική στιγμή 3, η εργασία τ δεν έχει ολοκληρωθεί, αλλά ο προϋπολογισμός της είναι μηδενικός (q = 0) και η δέσμευση RSV έχει εξαντληθεί. Ως εκ τούτου, η εργασία τ διακόπτει την εκτέλεση της προσωρινά, περιμένοντας την επαναφόρτιση του προϋπολογισμού της. Όπως μπορούμε να δούμε, η εργασία τ δεν έχει συνέπειες από την υπέρβαση της εργασίας τ. Σχήμα 11. Δέσμευση πόρων CPU με χρονοπρογραμματιστή σταθερής προτεραιότητας [14]. 48

63 Παράλληλα, μια νέα περίοδος για τη δέσμευση RSV έχει ενεργοποιηθεί και ο προϋπολογισμός Q έχει επαναφορτιστεί σε 2. Ως εκ τούτου, η εργασία τ μπορεί να εκτελεστεί και πάλι και να ολοκληρωθεί μετά από μια επιπλέον μονάδα χρόνου. Παρατηρούμε ότι η εργασία έχει χάσει την προθεσμία της τη χρονική στιγμή 3. Επιπλέον, δεδομένου ότι η εργασία έχει περίοδο ίση με 3 χρονικές μονάδες, τη χρονική στιγμή 3 μια άλλη εργασία θα έπρεπε να είχε ενεργοποιηθεί. Ανάλογα με την πραγματική υλοποίηση του χρονοπρογραμματιστή και της υπό εξέταση εργασίας, μπορεί η ενεργοποίηση της εργασίας τη χρονική στιγμή 3 να παραλειφτεί ή να μπει σε ουρά αναμονής. Στο Σχήμα 11 θεωρούμε ότι η εργασία εισέρχεται σε ουρά αναμονής. Ως εκ τούτου, τη χρονική στιγμή 4 η εργασία συνεχίζει με την εκτέλεση του επόμενου στιγμιότυπου της που είναι στη ουρά αναμονής. Σχήμα 12. Δέσμευση πόρων CPU με χρονοπρογραμματιστή EDF [14].. Σημειώνεται ότι, ακόμη και αν το πρώτο στιγμιότυπο της εργασίας τ είναι «πολύ μεγάλο», ο χρονοπρογραμματισμός είναι ισοδύναμος με αυτόν που παράγεται από τον αλγόριθμο RM για δύο εργασίες τ = (2,3) και τ = (1,5). Με άλλα λόγια, ο μηχανισμός δέσμευσης της CPU προβλέπει χρονική απομόνωση μεταξύ των δύο εργασιών: εφόσον η εργασία τ είναι αυτή που εκτελείται «πάρα πολύ», θα χαθεί κάποια προθεσμία, αλλά η εργασία τ δεν επηρεάζεται. Οι μηχανισμοί δέσμευσης πόρων που παρουσιάσθηκαν στις προηγούμενες παραγράφους μπορούν να χρησιμοποιηθούν εύκολα και με χρονοπρογραμματιστές 49

64 δυναμικής προτεραιότητας, όπως ο EDF, ώστε να επιτευχτεί καλύτερη χρήση της CPU. Ωστόσο, κατά τη χρήση δεσμεύσεων της CPU σε ένα σύστημα δυναμικής προτεραιότητας μπορεί να είναι χρήσιμη η επέκταση του χρονοπρογραμματιστή για την επίλυση ορισμένων προβλημάτων που επηρεάζουν εν γένει χρονοπρογραμματιστές που βασίζονται στη δέσμευση πόρων. Ως εκ τούτου, πριν από την παρουσίαση ενός πιο προηγμένου αλγόριθμου δέσμευσης, παρουσιάζεται ένα τυπικό πρόβλημα που αντιμετωπίζουν τα παραδοσιακά συστήματα δέσμευσης πόρων. Συγκεκριμένα, ένας γενικός αλγόριθμος χρονοπρογραμματισμού που βασίζεται σε δέσμευση πόρων μπορεί να έχει προβλήματα στο χειρισμό των αφίξεων μιας απεριοδικής εργασίας. Σχήμα 13. Η καθυστερημένη άφιξη της εργασίας τ μπορεί να προκαλέσει τη μη τήρηση της προθεσμίας της εργασίας τ [14]. Ας θεωρήσουμε δύο εργασίες τ = (4,8) και τ = (3,6) οι οποίες εξυπηρετούνται από δύο δεσμεύσεις RSV = (4,8) και RSV = (3,6). Όπως φαίνεται στο Σχήμα 12, αν χρησιμοποιείται ο αλγόριθμος προτεραιότητας EDF για την υλοποίηση του συστήματος δέσμευσης, τότε το σύνολο των εργασιών είναι schedulable (δηλαδή κάθε εργασία θα τηρήσει όλες τις προθεσμίες). Ωστόσο, αν ένα στιγμιότυπο μίας από τις δύο εργασίες ενεργοποιηθεί αργότερα, η χρονική απομόνωση που παρέχεται από τους μηχανισμούς δέσμευσης μπορεί να διαταραχτεί. 50

65 Για παράδειγμα, το Σχήμα 13 παρουσιάζει τί μπορεί να συμβεί αν το τρίτο στιγμιότυπο της εργασίας τ καταφθάσει τη χρονική στιγμή 18 αντί για τη χρονική στιγμή 16: το σύστημα είναι σε αδράνεια κατά το χρονικό διάστημα μεταξύ της χρονικής στιγμής 17 και 18, και η εργασία τ (που εκτελείται σωστά) χάνει την προθεσμία της. Αν χρησιμοποιηθούν με ορθό τρόπο, οι δυναμικές προτεραιότητες επιτρέπουν τη διόρθωση τέτοιου είδους προβλημάτων και παράλληλα μπορούν να επιτύχουν καλύτερη χρήση της CPU, όπως περιγράφεται στην επομένη παράγραφο. 4.2 Δέσμευση Πόρων σε Συστήματα Δυναμικής Προτεραιότητας Για την καλύτερη αξιοποίηση των πλεονεκτημάτων ενός συστήματος δυναμικής προτεραιότητας, οι δεσμεύσεις πόρων μπορούν να υλοποιηθούν με κατάλληλη ανάθεση μιας δυναμικής προθεσμίας χρονοπρογραμματισμού σε κάθε εργασία και χρησιμοποιώντας τον αλγόριθμο EDF, βάσει των προθεσμιών αυτών. Ορισμός 4.3 Μια προθεσμία χρονοπρογραμματισμού d, είναι μια δυναμική προθεσμία που ανατίθεται σε ένα στιγμιότυπο εργασίας τ, προκειμένου να χρονοπρογραμματιστεί με βάση τον αλγόριθμο EDF. Σημειώστε ότι η προθεσμία χρονοπρογραμματισμού είναι κάτι διαφορετικό από την προθεσμία της εργασίας d, η οποία στην περίπτωση αυτή θα χρησιμοποιηθεί μόνο για την παρακολούθηση της επίδοσης της εργασίας. Η αφηρημένη οντότητα που είναι υπεύθυνη για τη σωστή εκχώρηση μια προθεσμίας χρονοπρογραμματισμού σε κάθε εργασία λέγεται απεριοδικός εξυπηρετητής (aperiodic server). 51

66 Ορισμός 4.4 Εξυπηρετητής ονομάζεται ο μηχανισμός που αναθέτει προθεσμίες χρονοπρογραμματισμού σε στιγμιότυπα εργασίας προκειμένου να διατηρούνται κάποιες ιδιότητες (όπως η εγγύηση δέσμευσης) κατά τον χρονοπρογραμματισμό αυτών. Οι απεριοδικοί εξυπηρετητές είναι ευρέως γνωστοί στον τομέα έρευνας για εφαρμογές πραγματικού χρόνου [58][67][68][69][60][56][57][70], αλλά σε γενικές γραμμές, έχουν χρησιμοποιηθεί για τη μείωση του χρόνου απόκρισης απεριοδικών αιτημάτων και όχι για την υλοποίηση χρονικής προστασίας. Ο εξυπηρετητής αναθέτει σε κάθε στιγμιότυπο εργασίας τ,, μια απόλυτη, χρονικά μεταβαλλόμενη προθεσμία d,, η οποία μπορεί να αλλάξει δυναμικά. Το γεγονός αυτό μπορεί να μοντελοποιηθεί από τη διάσπαση κάθε στιγμιότυπου της εργασίας τ,, σε τεμάχια (chunks) H,,, το κάθε ένα από τα οποία έχει μια καθορισμένη προθεσμία χρονοπρογραμματισμού d,,. Ορισμός 4.5 Ένα τεμάχιο (chunk) H,, είναι ένα μέρος ενός στιγμιότυπου εργασίας το οποίο χαρακτηρίζεται από μια καθορισμένη προθεσμία χρονοπρογραμματισμού d,,. Κάθε τεμάχιο H,, χαρακτηρίζεται από ένα χρόνο άφιξης α,,, ένα χρόνο εκτέλεσης e,,, και μια προθεσμία χρονοπρογραμματισμού. Σημειώνεται ότι ο χρόνος άφιξης α,, του πρώτου στιγμιότυπου της εργασίας τ, ισούται με το χρόνο άφιξης/απόλυσης του στιγμιότυπου της εργασίας: α,, = r,. 4.3 Η τεχνική Constant Bandwidth Server (CBS) Η τεχνική Constant Bandwidth Server (CBS) [61][62] είναι ουσιαστικά ένας χρονοπρογραμματιστής που στηρίζεται στον αλγόριθμο EDF, ο οποίος παρέχει ένα ισχυρό θεωρητικό υπόβαθρο που έχει αποδειχτεί ότι μπορεί να διαχειριστεί αποτελεσματικά τις απεριοδικές αφίξεις εργασιών. 52

67 Ο εξυπηρετητής Constant Bandwidth Server (CBS) είναι ένας work conserving εξυπηρετητής για την εκτέλεση ελαστικών δεσμεύσεων που εκμεταλλεύεται τις δυνατότητες της δυναμικής προτεραιότητας για να εξυπηρετήσει σωστά απεριοδικά αιτήματα και να αξιοποιήσει καλύτερα την CPU. Ο αλγόριθμος CBS επισήμως ορίζεται ως εξής: Ένας εξυπηρετητής CBS S χαρακτηρίζεται από έναν προϋπολογισμό q και από ένα διαταγμένο ζεύγος (Q, P ), όπου Q είναι ο μέγιστος προϋπολογισμός εξυπηρετητή και P είναι η περίοδος του εξυπηρετητή. Η αναλογία U = Q P συμβολίζει το υπολογιστικό εύρος του εξυπηρετητή. Κάθε στιγμιότυπο συνδέεται με μία σταθερή προθεσμία d αναφορικά με τον εξυπηρετητή. Αρχικά d = 0. Σε κάθε στιγμιότυπο εργασίας που εξυπηρετείται τ,, αποδίδεται μια δυναμική προθεσμία d,, ίση με την τρέχουσα προθεσμία του εξυπηρετητή d. Κάθε φορά που εξυπηρετείται ένα στιγμιότυπο εργασίας τ,, ο προϋπολογισμός Q του εξυπηρετητή S που εξυπηρετεί το στιγμιότυπο τ,, μειώνεται κατά το ίδιο ποσοστό. Όταν q = 0, ο προϋπολογισμός του εξυπηρετητή θα επαναφορτιστεί στη μέγιστη τιμή Q και μια νέα προθεσμία εξυπηρετητή δημιουργείται ως εξής d = d + P. Σημειώνεται ότι δεν υπάρχουν πεπερασμένα χρονικά διαστήματα στα οποία ο προϋπολογισμός είναι ίσος με μηδέν. Ένας εξυπηρετητής CBS S λέγεται ότι είναι ενεργός κατά το χρόνο t, εάν υπάρχουν εκκρεμείς εργασίες (υπενθυμίζεται ότι ο προϋπολογισμός q είναι πάντα μεγαλύτερος από το 0), δηλαδή, αν υπάρχει μία εργασία προς 53

68 εξυπηρέτηση, τέτοια ώστε r, t f,. Ένας εξυπηρετητής CBS S λέγεται ότι είναι αδρανής κατά το χρόνο t, εάν δεν είναι ενεργός. Όταν μια εργασία τ, καταφτάνει και ο εξυπηρετητής είναι ενεργός, η αίτηση εισέρχεται σε μια ουρά αναμονής με εργασίες σε εκκρεμότητα, σύμφωνα με έναν συγκεκριμένο (αυθαίρετο) non-preemptive τρόπο (π.χ. FIFO, shortest execution time first, ή EDF, αν οι εργασίες έχουν ελαστικές προθεσμίες). Σχήμα 14. Απλό παράδειγμα εξυπηρέτησης εργασίας με τον CBS [14]. Όταν μια εργασία τ, καταφτάνει και ο εξυπηρετητής βρίσκεται σε αδράνεια, αν q d r, U, o εξυπηρετητής δημιουργεί μια νέα προθεσμία d = d + P και ο προϋπολογισμός q επαναφορτίζεται στη μέγιστη τιμή Q, διαφορετικά η εργασία εξυπηρετείται με βάση την τελευταία προθεσμία εξυπηρετητή d χρησιμοποιώντας τον τρέχοντα προϋπολογισμό. Όταν μια εργασία ολοκληρωθεί, η επόμενη εργασία στην ουρά αναμονής, αν υπάρχει, εξυπηρετείται με τον τρέχοντα προϋπολογισμό και την τρέχουσα προθεσμία. Εάν δεν υπάρχουν εκκρεμείς εργασίες, ο εξυπηρετητής τίθεται σε αδράνεια. Κάθε χρονική στιγμή, σε μια εργασία ανατίθεται η τελευταία προθεσμία που παράγεται από τον εξυπηρετητή. 54

69 Το Σχήμα 14 απεικονίζει ένα παράδειγμα στο οποίο μια μη-ελαστική περιοδική εργασία τ είναι χρονοπρογραμματισμένη από τον αλγόριθμο EDF μαζί με μια ελαστική εργασία τ, η οποία εξυπηρετείται από έναν CBS που έχει έναν προϋπολογισμό Q = 2 και περίοδο P =7. Τo πρώτο στιγμιότυπο της τ καταφθάνει τη χρονική στιγμή r = 2, όταν ο εξυπηρετητής βρίσκεται σε αδράνεια. Όντας q (d r )U, η λήξη της προθεσμίας που ανατίθεται στην εργασία είναι d = r + P = 9 και o προϋπολογισμός q φορτίζεται στα Q = 2. Κατά τη χρονική στιγμή t = 6, προϋπολογισμός εξαντλείται, επομένως μια νέα προθεσμία d = d + P = 16 παράγεται και o προϋπολογισμός q αναπληρώνεται. Στη χρονική στιγμή t = 7, καταφθάνει η δεύτερη εργασία όταν ο εξυπηρετητής είναι ενεργός, οπότε η αίτηση εισέρχεται σε ουρά αναμονής. Όταν ολοκληρώνεται η πρώτη εργασία, εξυπηρετείται η δεύτερη εργασία με την πραγματική προθεσμία του εξυπηρετητή (d = 16). Στη χρονική στιγμή t = 12, ο προϋπολογισμός εξυπηρετητή έχει εξαντληθεί και έτσι μια νέα προθεσμία d = d + P = 23 παράγεται και o προϋπολογισμός q αναπληρώνεται σε Q. Η τρίτη εργασία φτάνει τη χρονική στιγμή 17, όταν ο εξυπηρετητής βρίσκεται σε αδράνεια και q = 1 < (d r )U = (23 17) = 1.71, οπότε χρονοπρογραμματίζεται με την πραγματική προθεσμία του εξυπηρετητή d χωρίς αλλαγή του προϋπολογισμού. Σχήμα 15. Παράδειγμα εξυπηρέτησης εργασίας μεταβλητού χρόνου εκτέλεσης και σταθερού διαστήματος αφίξεων με τον CBS [14]. 55

70 Στο Σχήμα 15, μία μη-ελαστική περιοδική εργασία τ έχει χρονοπρογραμματιστεί μαζί με μία ελαστική εργασία τ, με σταθερό χρονικό διάστημα μεταξύ των αφίξεων (Τ = 7) και μεταβλητό χρόνο εκτέλεσης, με μέση τιμή ίση με C = 2. Η κατάσταση αυτή είναι τυπική στις εφαρμογές διαχείρισης πολυμέσων: για παράδειγμα, μια ροή βίντεο απαιτεί να εκτελεστεί περιοδικά, αλλά ο χρόνος αποκωδικοποίησης κάθε καρέ δεν είναι σταθερός. Για τη βελτιστοποίηση της χρήσης του επεξεργαστή, η εργασία τ εξυπηρετείται από έναν CBS με μέγιστο προϋπολογισμό ίσο με το μέσο χρόνο υπολογισμού των εργασιών (Q = 2) και για διάστημα ίσο με την περίοδο της εργασίας (P = T = 7). Όπως μπορούμε να δούμε από το Σχήμα 15, στο δεύτερο στιγμιότυπο του έργου τ αποδίδεται πρώτα η προθεσμία d = r + P = 14. Τη χρονική στιγμή t = 12, όμως, επειδή ο προϋπολογισμός q έχει εξαντληθεί και η εργασία δεν έχει ολοκληρωθεί, η εργασία χρονοπρογραμματίζεται με μια νέα προθεσμία d = d + P = 21. Ως αποτέλεσμα της μεγαλύτερης εκτέλεσης, μόνο η ελαστική εργασία έχει καθυστερήσει, ενώ η μη-ελαστική εργασία πληροί όλες τις προθεσμίες της. Επιπλέον, το τμήμα της καθυστερημένης εργασίας που υπερβαίνει τα όρια δεν εκτελείται στο παρασκήνιο, αλλά χρονοπρογραμματίζεται με την κατάλληλη δυναμική προτεραιότητα. Σχήμα 16. Παράδειγμα εξυπηρέτησης εργασίας μεταβλητού χρόνου εκτέλεσης και μεταβλητού διαστήματος αφίξεων με τον CBS [14]. 56

71 Σε άλλες περιπτώσεις, που απαντώνται συχνότερα σε συνεχή μέσα (CM), οι εργασίες έχουν σταθερούς χρόνους εκτέλεσης, αλλά μεταβλητά χρονικά διαστήματα μεταξύ των αφίξεων. Για παράδειγμα, αυτή είναι η περίπτωση μιας εργασίας που ενεργοποιείται από εξωτερικά γεγονότα. Στην περίπτωση αυτή, ο CBS συμπεριφέρεται ακριβώς όπως ένας Εξυπηρετητής Συνολικού Εύρους Ζώνης (Total Bandwidth Server - TBS) [57] με εύρος ζώνης U = Q P. Στην πραγματικότητα, εάν C = Q κάθε εργασία τελειώνει ακριβώς όταν ο προϋπολογισμός φτάνει στο 0, οπότε η προθεσμία εξυπηρέτησης αυξάνεται σε P. Είναι επίσης ενδιαφέρον να σημειωθεί ότι στην περίπτωση αυτή, ο CBS είναι επίσης ισοδύναμος με ένα μοντέλο Rate-Based Execution [71] με τις παραμέτρους x = 1, y = T, D = T.Ένα παράδειγμα ενός τέτοιου σεναρίου απεικονίζεται στο Σχήμα 16. Τέλος, το Σχήμα 17 δείχνει πώς οι εργασίες που παρουσιάζονται στο Σχήμα 13 χρονοπρογραμματίζονται από τον CBS. Δεδομένου ότι ο CBS αποδίδει σωστά τις προθεσμίες στο στιγμιότυπο που φθάνει καθυστερημένα (το τρίτο στιγμιότυπο της εργασίας τ ), η εργασία τ δε χάνει καμία προθεσμία, και επιτυγχάνεται χρονική προστασία. Σχήμα 17. Παράδειγμα διαχείρισης καθυστερημένων αφίξεων από τον CBS [14]. 57

72 Δύο επεκτάσεις τις μεθόδου CBS παρουσιάζονται στις εργασίες [6] και [20] για να γίνει δυνατόν το μοίρασμα των υπολογιστικών πόρων ανάμεσα σε εργασίες σε δυναμικά συστήματα πραγματικού χρόνου. Ωστόσο, οι αναφερόμενες μέθοδοι βρίσκουν εφαρμογή σε δεσμεύσεις πόρων οι οποίες ακολουθούνται άμεσα από την τοποθέτηση της εφαρμογής και την εκτέλεση αυτής, και δεν αφορούν τις περιπτώσεις που η δέσμευση αφορά χρονικά διαστήματα στο μέλλον, τα οποία ενδεχομένως έχουν πολύ μεγάλη διάρκεια. Στο επόμενο κεφάλαιο, γίνεται μια σύντομη παρουσίαση των πιο σημαντικών μελετών πάνω σε δεσμεύσεις πόρων που αφορούν μεγάλα χρονικά διαστήματα στο μέλλον. 4.4 Δέσμευση Πόρων για Μελλοντική Χρήση Μια πρόσφατη μελέτη σχετικά με έναν αλγόριθμο χρονοπρογραμματισμού πραγματικού χρόνου, ο οποίος μπορεί να υποστηρίξει δέσμευση πόρων στο μέλλον παρουσιάζεται στην εργασία [22]. Σχετικές μελέτες περιλαμβάνουν διάφορες εργασίες όπως η [36], όπου οι συγγραφείς παρουσιάζουν την υλοποίηση ενός αλγορίθμου χρονοπρογραμματισμού βέλτιστης προσαρμογής (best-fit) με χρονικούς περιορισμούς για την ελαχιστοποίηση του κατακερματισμού των πόρων, έτσι ώστε να επιτυγχάνεται η δέσμευση πόρων μεγιστοποιώντας παράλληλα τη χρησιμοποίησή τους. Ο αλγόριθμος επαναχρησιμοποιεί τις έννοιες της υπολογιστικής γεωμετρίας για την αποτελεσματική αντιμετώπιση του κατακερματισμού των πόρων και των χρονικών απαιτήσεων, στο πλαίσιο ενός γενικού σχεδιασμού που μπορεί να υιοθετηθεί τόσο σε δικτυακούς όσο και σε υπολογιστικούς πόρους. Συγκεκριμένα, εξετάζει το αν είναι εφικτό να χρονοπρογραμματιστεί μια εργασία, έτσι ώστε να τηρηθεί ο χρονικός της περιορισμός. Αν είναι εφικτό, τότε χρησιμοποιεί ένα σύνολο κριτηρίων για την επιλογή ενός από τους (ενδεχομένως πολλαπλούς) 58

73 εξυπηρετητές που μπορούν να χειριστούν την εργασία, ενημερώνει το χρονοπρογραμματιστή, και επιστρέφει μια αναφορά αυτού του εξυπηρετητή στο χρήστη, διαφορετικά η εργασία απορρίπτεται. Ωστόσο, η ώρα έναρξης της εργασίας είναι αυστηρά καθορισμένη και ο πελάτης μπορεί να εκτελέσει την εργασία μόνο μια φορά ανά δέσμευση. Επιπλέον, η επιλογή εξαρτάται από την ύπαρξη περιόδων αδράνειας μεταξύ δεσμευμένων χρονικών διαστημάτων σε κάθε εξυπηρετητή. Αντίθετα, η ώρα έναρξης στην προσέγγιση που παρουσιάζεται στην παρούσα διατριβή είναι άγνωστη και ο χρήστης μπορεί να εκτελέσει τη ροή εργασίας πολλές φορές μέσα στο δεσμευμένο χρονικό διάστημα. Ομοίως, η λύση που προσφέρεται από τον αλγόριθμο SSS [37] στηρίζεται σε περιόδους συνεχούς χρησιμοποίησης των πόρων και σε περιόδους αδράνειας. Ο χρονοπρογραμματισμός μιας συγκεκριμένης εργασίας προσδιορίζεται από το χρόνο κατά τον οποίο έχει προγραμματιστεί να αρχίσει η εκτέλεση της υπό συγκεκριμένες συνθήκες χρονοπρογραμματισμού της CPU. Δεδομένης της νέας αίτησης και τον τρέχοντα χρονοπρογραμματισμό των εργασιών, ο αλγόριθμος SSS στέλνει τη νέα αίτηση στον χρονοπρογραμματιστή, εφόσον κάτι τέτοιο είναι εφικτό. Ο αλγόριθμος SSS βρίσκει αρχικά όλες τις χρονοπρογραμματισμένες εργασίες που μπορεί να επηρεάσουν το χρονοπρογραμματισμό της νέας εργασίας, και στη συνέχεια, προσπαθεί να επεξεργαστεί ένα εφικτό χρονοπρογραμματισμό μόνο για ένα υποσύνολο των εργασιών αυτών. Μόλις προσδιοριστεί αυτό το υποσύνολο, μια αρχική λύση προτείνεται γι αυτό το υποσύνολο και τη νέα αίτηση χρησιμοποιώντας οποιαδήποτε από τις γνωστές στρατηγικές, όπως ο αλγόριθμος EDF ή Least-Laxity- First. Η εργασία αυτή επιτρέπει στις δεσμεύσεις πόρων να είναι ευέλικτες όσον αφορά στο χρόνο έναρξης και τους χρονικούς προγραμματισμούς με την 59

74 αναδιάρθρωση του χρονοπρογραμματισμού κάθε φορά που προκύπτει μια νέα αίτηση. Οι Netto, Bubendorfer και Buyya στη μελέτη [38], διερευνούν την απόδοση του χρονοπρογραμματισμού που συνδυάζεται με δεσμεύσεις και για το σκοπό αυτό, ανέπτυξαν έναν χρονοπρογραμματιστή που διασφαλίζει την ποιότητα υπηρεσίας χρησιμοποιώντας SLAs για τον αποτελεσματικό χρονοπρογραμματισμό των δεσμεύσεων βάσει της ευελιξίας. Επίσης εισάγουν την έννοια των προσαρμοστικών χρονικών παραμέτρων ποιότητας, κατά την οποία η ελαστικότητα των παραμέτρων αυτών δεν είναι στατική, αλλά προσαρμοστική σύμφωνα με τις ανάγκες των χρηστών και τις επιχειρηματικές πολιτικές των παρόχων. Ωστόσο, όπως και στην εργασία [37], χειρίζονται τις δεσμεύσεις μέσω της τροποποίησης και της ανακατανομής των υφιστάμενων δεσμεύσεων όταν μια νέα αίτηση εμφανίζεται. Οι Singh, Kesselman και Deelman στο [39], προτείνουν ένα μοντέλο παροχής πόρων που περιγράφει τη διαθεσιμότητα των πόρων πλέγματος με τη μορφή θυρίδων (slots), όπου κάθε θυρίδα αντιπροσωπεύει τον αριθμό των επεξεργαστών που διατίθενται για ένα ορισμένο χρονικό διάστημα με ένα ορισμένο κόστος. Στη βάση αυτό το μοντέλο, διαμορφώνει έναν πλάνο παροχής πόρων που διατηρεί τα χαρακτηριστικά των πόρων, έτσι ώστε να βελτιστοποιείται μια παραμετροποιημένη μετρική, η οποία συνδυάζει το οικονομικό κόστος της δέσμευσης των πόρων και την αναμενόμενη απόδοση κατά την εφαρμογή του πλάνου. Αυτό το πλάνο παροχής πόρων συνδυάζεται με δύο ευρετικούς αλγορίθμους, τον Min-Min και ένα γενετικό αλγόριθμου, σε συνδυασμό με έναν αλγόριθμο χρονοπρογραμματισμού. Ωστόσο, αυτή η μελέτη ασχολείται με τη βελτιστοποίηση από την πλευρά του χρήστη και αγνοεί τη χρησιμοποίηση των υφιστάμενων πόρων, το οποίο είναι κάτι που ενδιαφέρει κυρίως τους παρόχους. Επιπλέον, η προσέγγιση 60

75 αυτή δε λαμβάνει υπόψη τους χρονικούς περιορισμούς που μπορεί να έχουν οι επιμέρους εργασίες από τις οποίες αποτελείται μια εφαρμογή. Οι Zhao και Σακελλαρίου στη μελέτη [40], παρουσιάζουν ένα μοντέλο δέσμευσης πόρων για ροές εργασίας που βασίζονται σε DAGs (Directed Acyclic Graphs), λαμβάνοντας υπόψη την τελευταία δυνατή στιγμή κατά την οποία θα πρέπει να ολοκληρωθεί η εκτέλεση του συνόλου των εργασιών της ροής, όπως αυτή ορίζεται από το χρήστη. Δύο διαφορετικές προσεγγίσεις προτείνονται, οι οποίες προσπαθούν να πραγματοποιήσουν δεσμεύσεις για κάθε εργασία στον γράφο κατανέμοντας τον ελεύθερο χρόνο που προκύπτει από την τελευταία στιγμή που η εκτέλεση όλου του DAG πρέπει να ολοκληρωθεί, ανάμεσα στις εργασίες, προκειμένου να χειρίζονται σωστά τις αλλαγές κατά τη διάρκεια της πραγματικής εκτέλεσης. Ωστόσο, η μελέτη αυτή υποθέτει συγκεκριμένες ώρες έναρξης της εκτέλεσης των DAGs και αγνοεί την αξιοποίηση των υφιστάμενων πόρων. Το Gridbus [43] είναι μια μέθοδος που επιτρέπει την παροχή υπηρεσιών σε ένα υπηρεσιοστρεφές (service-oriented) περιβάλλον Πλέγματος (Grid). Η διαχείριση ροών εργασίας στο Gridbus [44] γίνεται χρησιμοποιώντας ως γνώμονα έναν αλγόριθμο επιλογής με βάση κριτήρια αγοράς [45] για την κατανομή και το χρονοπρογραμματισμό των πόρων, ενώ η εκτίμηση της επίδοσης γίνεται βάσει ιστορικών δεδομένων. Στο ίδιο πλαίσιο, το σύστημα Taverna [46] το οποίο αρχικά αναπτύχθηκε στο πλαίσιο του έργου mygrid [47], επιτρέπει τη δημιουργία, την εκτέλεση και τη διαχείριση των ροών εργασίας. Ωστόσο, η στρατηγική του χρονοπρογραμματισμού που χρησιμοποιείται βασίζεται στην επίδοση και δεν συνδυάζει την απόδοση ή τους περιορισμούς που εισάγουν οι παράμετροι ποιότητας των εργασιών που αποτελούν την ροή. 61

76 Το Askalon [48] είναι ένα περιβάλλον ανάπτυξης με κύριο στόχο την απλοποίηση της ανάπτυξης και βελτιστοποίησης των ροών εργασίας. Διεξάγει μια εκτίμηση επιδόσεων με βάση τόσο ιστορικά δεδομένα που προέρχονται από ένα στάδιο εκπαίδευσης, όσο και από αναλυτικά μοντέλα. Επιπλέον, χρησιμοποιεί ένα σύνολο από προκαθορισμένες παραμέτρους ποιότητας που ορίζονται από το χρήστη κατά τη διαδικασία εύρεσης παρόχων. Η προσέγγιση που παρουσιάζεται στη μελέτη [49], προτείνει την επέκταση του μηχανισμού χρονοπρογραμματισμού του Askalon ώστε να υποστηρίζει τη δέσμευση πόρων. Η συγκεκριμένη προσέγγιση εκτελεί τη χαρτογράφηση των πόρων βάσει ενός δίκαιου επιμερισμού (fair-sharing) ο οποίος περιορίζει τον αριθμό των πόρων που προσφέρονται σε ένα μόνο χρήστη κάθε φορά. Ο χρονοπρογραμματισμός αυτός βασίζεται σε έναν ευρετικό αλγόριθμο χρονοπρογραμματισμού γνωστό ως Earliest- Finish-Time (HEFT), ο οποίος έχει αποδεδειγμένα καλές επιδόσεις με χαμηλή πολυπλοκότητα χρόνου. Σε αντίθεση με τις περισσότερες μηχανές εκτέλεσης ροών εργασίας, το ICENI [51], είναι σε θέση να υποστηρίξει δέσμευση πόρων σε ορισμένες περιπτώσεις. Ειδικότερα, όταν διαπιστώνεται ότι ένας πόρος θα χρησιμοποιηθεί για ένα ορισμένο χρονικό διάστημα, η δέσμευση γίνεται μέσω μιας διαδικασίας WS- Agreement [52]. Για να προσδιοριστεί η έναρξη του χρόνου εκτέλεσης της κάθε εργασίας της ροής, χρησιμοποιείται μια βάση δεδομένων με ιστορικά στοιχεία σχετικά με τις επιδόσεις τους σε διαφορετικούς πόρους. Οι πληροφορίες αυτές χρησιμοποιούνται κατά τη φάση της δέσμευσης, ώστε να γίνεται μια πρόβλεψη του χρόνου έναρξης της κάθε εργασίας στην ροή. Εάν πραγματοποιηθεί μια δέσμευση, στη συνέχεια οι εργασίες που πρέπει να εγκατασταθούν τοποθετούνται σε μια σειρά αναμονής έως ότου φθάσει ο χρόνος ενεργοποίησης της δέσμευσης. 62

77 Ωστόσο, η μελέτη αυτή δεν επιχειρεί να επιλύσει το πρόβλημα για ολόκληρες τις ροές εργασίας, καθώς αυτό είναι ένα πολύ δύσκολο πρόβλημα (NP-Hard) [53]. Αντ' αυτού, χρησιμοποιούνται ευρετικοί αλγόριθμοι για την προσέγγιση των ενδεδειγμένων λύσεων και μια σειρά άλλων υφιστάμενων αλγορίθμων χρονοπρογραμματισμού έχουν τροποποιηθεί ώστε να λαμβάνουν υπόψη παραμέτρους για το σύνολο των ροών κατά το χρονοπρογραμματισμό κάθε επιμέρους εργασίας. Επιπλέον, ο χρόνος έναρξης της εκτέλεσης ροών εργασίας είναι αυστηρά καθορισμένος και το σύστημα ξεκινά την εκτέλεση της ροής τη χρονική στιγμή που ξεκινάει η δέσμευση των πόρων. Τέλος, το πρόβλημα της τοποθέτησης κατανεμημένων εφαρμογών πραγματικού χρόνου σε ένα σύνολο από ετερογενείς εξυπηρετητές έχει μελετηθεί και από τον Di Natale et al. [12] κάτω από το πρίσμα των ενσωματωμένων συστημάτων πραγματικού χρόνου. 4.5 Συμπεράσματα Γενικά, υπάρχουν διάφορες προσεγγίσεις στο σχεδιασμό και την ανάπτυξη των συστημάτων που υποστηρίζουν τη διαχείριση ροής εργασιών σε κατανεμημένα περιβάλλοντα [41], [42]. Ωστόσο, υπήρξε περιορισμένη έρευνα αναφορικά με τα ειδικά προβλήματα που αναφέρονται στην παρούσα διατριβή, και συγκεκριμένα στην ευέλικτη δέσμευση για τη διασφάλιση της ποιότητας υπηρεσίας συνολικά (end-toend) της ροής εργασίας σε συνδυασμό με αλγόριθμους χρονοπρογραμματισμού πραγματικού χρόνου. Παρά τα ελκυστικά τους χαρακτηριστικά, οι συγκεκριμένοι αλγόριθμοι δέσμευσης συνδυάζονται με ευρετικούς αλγόριθμους χρονοπρογραμματισμού που δε μπορούν να αντιμετωπίσουν ικανοποιητικά τη δέσμευση πόρων για διαδραστικές εφαρμογές πραγματικού χρόνου που χαρακτηρίζονται από αυστηρούς χρονικούς περιορισμούς 63

78 και χαμηλό ποσοστό χρησιμοποίησης των πόρων. Αυτό οφείλεται στο γεγονός ότι πρόκειται κυρίως για προσεγγίσεις που βασίζουν τη δέσμευση των πόρων στην επίδοση της εφαρμογής και αναπόφευκτα αγνοούν το ποσοστό χρησιμοποίησης των πόρων. Όταν ένα νέο αίτημα δέσμευσης φτάνει για μια ροής εργασίας, η πλειοψηφία των μηχανισμών λαμβάνει ως είσοδο τις ήδη υπάρχουσες δεσμεύσεις και τις χρονικές παραμέτρους που σχετίζονται με αυτές, όπως ο αυστηρός χρόνος έναρξης και η διάρκεια της εκτέλεσης. Οι εν λόγω μηχανισμοί εκτελούν τη δέσμευση ντετερμινιστικά, δηλαδή αν και μόνο αν υπάρχουν αρκετοί διαθέσιμοι πόροι για να φιλοξενήσουν τη νέα εφαρμογή, χωρίς να λαμβάνουν υπόψη το ποσοστό πραγματικής χρήσης της εφαρμογής κατά τη διάρκεια του δεσμευμένου χρονικού διαστήματος. Μελέτες σχετικά με την απόδοση αυτών των μηχανισμών ([54] και [55]) έχουν δείξει ότι η επανάληψη αυτής της ενέργειας οδηγεί σε υψηλό κατακερματισμό της CPU, αυξάνοντας τον αριθμό των χρονικών περιόδων που μένουν αχρησιμοποίητες, γεγονός που αναπόφευκτα οδηγεί σε μειωμένη χρησιμοποίηση των διαθέσιμων πόρων και σοβαρή μείωση της απόδοσης των υπό εκτέλεση εργασιών. Από τα προβλήματα που περιγράφτηκαν πιο πάνω, μπορούμε να αντλήσουμε ένα ιδανικό σύνολο από χαρακτηριστικά γνωρίσματα που μια τεχνική δέσμευσης πόρων θα πρέπει να έχει για την αποτελεσματική υποστήριξη ελαστικών εφαρμογών πραγματικού χρόνου, διασφαλίζοντας παράλληλα έναν ορισμένο βαθμό απόδοσης [14]: Διαχείριση υπερφόρτωσης. Κάθε φορά που το συνολικό υπολογιστικό φορτίο υπερβαίνει τη χωρητικότητα του επεξεργαστή, το σύστημα θα πρέπει να περιορίζει τις απαιτήσεις των εργασιών ώστε να αποφεύγεται η ανεξέλεγκτη υποβάθμιση των επιδόσεων τους. 64

79 Χρονική απομόνωση. Η χρονική συμπεριφορά μιας υπολογιστικής δραστηριότητας δεν πρέπει να εξαρτάται από τα χαρακτηριστικά εκτέλεσης άλλων δραστηριοτήτων, αλλά μόνο από το υπολογιστικό εύρος του επεξεργαστή (CPU bandwidth) που του έχει χορηγηθεί. Κάθε φορά που μια εργασία εκτελείται περισσότερο από το αναμενόμενο, ή μια ακολουθία από στιγμιότυπα εργασιών ενεργοποιείται πιο συχνά από ό, τι αναμενόταν, μόνο η αντίστοιχη εργασία θα πρέπει να καθυστερήσει, αποφεύγοντας αλληλεπιδράσεις με άλλες εργασίες. Οριοθέτηση προτεραιότητας. Όταν οι εργασίες αλληλεπιδρούν μέσω κοινών πόρων, το μέγιστο χρονικό διάστημα αδράνειας (blocking time) που προκαλείται από τον αμοιβαίο αποκλεισμό θα πρέπει να οριοθετείται από τη διάρκεια ενός ή μερικών νευραλγικών σημείων, εμποδίζοντας την αύξηση της καθυστέρησης αυτής λόγω της εκτέλεσής τους. Διαχείριση απεριοδικών εργασιών. Η ασύγχρονη άφιξη απεριοδικών εργασιών θα πρέπει να γίνεται με τέτοιο τρόπο ώστε η επίδοση των περιοδικών εργασιών να είναι εγγυημένη off-line, και η απεριοδική ανταπόκριση να μεγιστοποιείται. Ανάκτηση πόρων. Κάθε ελεύθερο χρονικό διάστημα που εξοικονομείται από εκτελέσεις που ολοκληρώνονται πιο γρήγορα, θα πρέπει να αξιοποιείται για την αύξηση της απεριοδικής ανταπόκρισης ή για την αντιμετώπιση καταστάσεων μεταβατικής υπερφόρτωσης. Προσαρμοστικότητα. Για συστήματα πραγματικού χρόνου που λειτουργούν σε ένα πολύ δυναμικά μεταβαλλόμενο περιβάλλον, κάθε αλλαγή στη συμπεριφορά της εφαρμογής θα πρέπει να ανιχνεύεται και να προκαλεί την προσαρμογή του συστήματος. 65

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

81 5 Πιθανοτικές Εγγυήσεις Πραγματικού Χρόνου Στο κεφάλαιο αυτό αντιμετωπίζουμε το πρόβλημα μιας πιθανοτικής ανάλυσης του χρονοπρογραμματισμού εργασιών πραγματικού χρόνου, με στόχο την παροχή μιας ελαστικής μορφής εγγύησης για συστήματα με πολύ μεγάλο βαθμό μεταβλητότητας στη συμπεριφορά της εκτέλεσης. Ο στόχος της ανάλυσης είναι να υπολογιστεί η πιθανότητα κάθε εργασία να τηρήσει την προθεσμία της ή, γενικότερα, να ολοκληρώσει την εκτέλεσή της μέσα σε συγκεκριμένο χρονικό διάστημα. 5.1 Στοχαστικός Χρονοπρογραμματισμός Όπως ήδη αναφέρθηκε στα προηγούμενα κεφάλαια, οι παραδοσιακές μη-ελαστικές εγγυήσεις πραγματικού χρόνου (με βάση τα χειρότερα σενάρια εκτέλεσης), είναι πολύ απαισιόδοξες επειδή οι χρόνοι εκτέλεσης των εργασιών και τα χρονικά διαστήματα ανάμεσα στις αφίξεις παρουσιάζουν μεγάλη μεταβλητότητα, ενώ η εμφάνιση των χειρότερων χρονών εκτέλεσης είναι πολύ σπάνια. Συνέπεια μιας τέτοιας απαισιόδοξης ανάλυσης είναι ότι οι πόροι του συστήματος υπο-χρησιμοποιούνται τις περισσότερες φορές, με σημαντικές επιπτώσεις στο συνολικό κόστος που απαιτείται για την λειτουργία του συστήματος. 67

82 Σκεφτείτε, για παράδειγμα, το παραδοσιακό έλεγχο εισδοχής που στηρίζεται στην χρησιμοποίηση της CPU U U. Αν ο μέσος χρόνος εκτέλεσης c είναι πολύ μικρότερος από τις τιμές της χειρότερης περίπτωσης C = max {c, },(ή ο μέσος χρόνος ανάμεσα στις αφίξεις είναι πολύ μεγαλύτερος από αυτούς της χειρότερης περίπτωσης), η εγγύηση που βασίζεται στις χειρότερες των χρήσεων U = C T, θα οδηγούσε σε σημαντική απώλεια πόρων. Από την άλλη πλευρά, η εκτέλεση του έλεγχου εισδοχής χρησιμοποιώντας τη μέση τιμή των ποσοστών χρησιμοποίησης θα αυξήσει την αποτελεσματικότητα, αλλά δε θα έδινε καμία εγγύηση για την τήρηση προθεσμιών. Αυτό το πρόβλημα μπορεί να αντιμετωπιστεί με την υιοθέτηση ενός πιθανοτικού πλαισίου για το χαρακτηρισμό ενός ελαστικού συστήματος πραγματικού χρόνου με πιο αυστηρό τρόπο. Αυτή η πιθανοτική ανάλυση μπορεί να πραγματοποιηθεί χρησιμοποιώντας διαφορετικές προσεγγίσεις: Η κλασική ανάλυση πραγματικού χρόνου των σταθερών ή δυναμικών συστημάτων προτεραιότητας μπορεί να επεκταθεί ώστε να κάνει χρήση στατιστικών κατανομών για τους χρόνους εκτέλεσης και/ή τα χρονικά διαστήματα ανάμεσα στις αφίξεις). Η παραδοσιακή θεωρία ουρών αναμονής, η οποία συνήθως χρησιμοποιείται για τον υπολογισμό της μέσης απόκρισης των εργασιών που χαρακτηρίζονται από τυχαίους χρόνους άφιξης και οι χρόνους εκτέλεσης) μπορεί να επεκταθεί ώστε να χρησιμοποιηθεί με χρονοπρογραμματιστές προτεραιότητας (όπως ο RM και o EDF). Η στοχαστική ανάλυση και ειδικότερα η πιθανοτική ανάλυση μηχανισμών χρονοπρογραμματισμού πραγματικού χρόνου απαιτούν προηγμένα μαθηματικά 68

83 εργαλεία που αρκετές φορές δεν είναι τόσο εύκολο να κατανοηθούν. Για να γίνει αυτό το κεφάλαιο πιο ευανάγνωστο και κατανοητό, παρουσιάζεται μια απλουστευμένη περιγραφή των διαφόρων τεχνικών στοχαστικής ανάλυσης. Οι ενδιαφερόμενοι αναγνώστες καλούνται να συμβουλευτούν τις πρωτότυπες μελέτες (οι οποίες αναφέρονται σε αυτό το κεφάλαιο), για την πλήρη κατανόηση του συνόλου των μαθηματικών μοντέλων που αναφέρονται στην παρούσα διατριβή. Το υποκεφάλαιο αυτό υπενθυμίζει εν συντομία τους σημαντικότερους ορισμούς και έννοιες για την κατανόηση του συνολικού κεφαλαίου, και εισάγει μερικά από τα πιο σημαντικά μαθηματικά εργαλεία που χρησιμοποιούνται στην πιθανοτική ανάλυση. Σε γενικές γραμμές, ο τελικός στόχος μιας στοχαστικής εγγύησης είναι να υπολογιστεί η πιθανότητα να χαθεί μια προθεσμία. Για την εκτέλεση μιας τυπικής ανάλυσης της εν λόγω πιθανότητας, πρέπει να οριστεί η έννοια της τυχαίας μεταβλητής και να προσδιοριστεί η πιθανότητα κάποιων γεγονότων (όπως για παράδειγμα «η εργασία τ, να έχει χρόνο εκτέλεσης c,») μέσω της συνάρτησης κατανομής πιθανότητας και της συνάρτησης αθροιστικής κατανομής πιθανότητας. Ορισμός 6.1. Μια τυχαία μεταβλητή είναι μια μεταβλητή Χ, η οποία ορίζεται από ένα σύνολο D, και η οποία παίρνει τυχαίες τιμές xεd με πιθανότητα P{X = x}. Ορισμός 6.2. Αν Χ είναι μια τυχαία μεταβλητή, τότε η Συνάρτηση Αθροιστικής Κατανομής Πιθανότητας (Cumulative Distribution Function -CDF) της μεταβλητής Χ ορίζεται ως C (x) = P{X x}. Ορισμός 6.3. Αν Χ είναι μια τυχαία μεταβλητή D και C (x) είναι η CDF αυτής, η Συνάρτηση Κατανομής Πιθανότητας (Probability Distribution Function - PDF) F (x) της μεταβλητής Χ είναι μια συνάρτηση D R, η οποία ορίζεται ως F (x) = 69

84 C (x + 1) C (x), αν η τυχαία μεταβλητή Χ είναι διακριτή, ή F (x) = dc (x) dx,αν η τυχαία μεταβλητή X είναι συνεχής. 5.2 Μοντέλο Συστήματος Εξετάζουμε ένα σύστημα το οποίο αποτελείται από αυτόνομα site, σε καθένα από τα οποία συμμετέχει ένα σύνολο από υπολογιστικούς κόμβους, και μπορεί να προσεγγιστεί από την τοπολογία αστέρα που παρουσιάζεται στο Σχήμα 18. Στο κέντρο αυτής της υπηρεσιοστρεφούς αρχιτεκτονικής βρίσκεται μια υπηρεσία διαχείρισης πόρων (resource management service), η οποία ελέγχει το διαμοιρασμό των πόρων των εξυπηρετητών, και συνδέεται άμεσα με αυτούς μέσω ενός δικτύου ευρείας περιοχής (WAN). Ως εξυπηρετητές θεωρούμε χρονικά κατανεμημένους υπολογιστές με διαφορετικές ταχύτητες επεξεργασίας και δυνατότητες ελαστικού χρονοπρογραμματισμού πραγματικού χρόνου σε επίπεδο λειτουργικού συστήματος. Για παράδειγμα, μια υλοποίηση τέτοιας δυνατότητας στο λειτουργικό σύστημα Linux με τρόπο ώστε να είναι «διαφανής» ως προς τις εφαρμογές μπορεί να βρεθεί στις μελέτες [25],[26] και [14]. Θεωρούμε το επόμενο πρόβλημα κατά το οποίο οι χρήστες θέλουν να εκτελέσουν κατά τη διάρκεια ενός μελλοντικού χρονικού διαστήματος μια εφαρμογή, η οποία αποτελείται από μια ροή εργασίας στην περιγραφόμενη υποδομή. Οι χρήστες θέλουν να έχουν πλήρη έλεγχο του χρόνου έναρξης της εκτέλεσης, δηλαδή, οι χρήστες είναι αυτοί που ξεκινούν κάθε φορά την εκτέλεση της ροής εργασίας. Κάθε ροή εργασίας αποτελείται από μια η περισσότερες υπηρεσίες s από ένα δεδομένο σύνολο υπηρεσιών S, και επιπλέον στιγμιότυπα της ίδιας υπηρεσίας δύναται να υπάρχουν σε πολλαπλούς εξυπηρετητές και μηχανήματα μέσα στον ίδιο εξυπηρετητή. Προκειμένου να εκτελεστεί μια ροή εργασίας, πρέπει να έχει προηγηθεί 70

85 της εκτέλεσης μια κλήση δέσμευσης πόρων, η οποία συμβολίζεται με r. Επομένως, κλήσεις για εκτέλεση χωρίς εκ των προτέρων δέσμευση πόρων απορρίπτονται αυτόματα από το σύστημα. Μια δέσμευση πόρων χαρακτηρίζεται από ένα χρόνο έναρξης και λήξης ως προς τη διαθεσιμότητα των πόρων. Τη χρονική στιγμή που το σύστημα διαχείρισης πόρων δέχεται μια νέα κλήση για δέσμευση πόρων (r ), οι εξυπηρετητές που αποτελούν την υποκείμενη υποδομή ενδέχεται να φιλοξενούν ήδη ένα σύνολο από δεσμεύσεις πόρων R = {r, r,, r }, οι οποίες έγιναν δέκτες στο παρελθόν. Όταν καταφθάνει μια νέα κλήση για δέσμευση πόρων, το σύστημα διαχείρισης πόρων αξιολογεί τους εξυπηρετητές και προσφέρει στο χρήστη διαφορετικούς τρόπους εκτέλεσης της εφαρμογής κάτω από πιθανοτικές εγγυήσεις επίπεδου υπηρεσίας. Σχήμα 18. Σχηματική απεικόνιση της υποκείμενης υποδομής πόρων του παρόχου. 71

86 Το κόστος των προσφορών κυμαίνεται ανάλογα με το υπολογιζόμενο από το σύστημα διαχείρισης πόρων επίπεδο πιθανοτικής εγγύησης και συμφώνα με τα επιχειρηματικά κριτήρια του παρόχου στον οποίο ανήκουν οι εξυπηρετητές που εμπλέκονται στην προσφορά. Αν ο χρήστης κάνει αποδεκτή μια από τις προσφορές, το σύστημα διαχείρισης των πόρων αναθέτει τις εργασίες από τις οποίες αποτελείται η ροή στα επιλεγμένα μηχανήματα μέσα στους εξυπηρετητές για μελλοντική επεξεργασία. Για λόγους απλότητας και χωρίς απώλεια γενικότητας, μπορούμε να υποθέσουμε ότι ο συνολικός χρόνος ολοκλήρωσης της υπηρεσίας οφείλεται σε πολύ μεγάλο ποσοστό στο χρόνο εκτέλεσης της υπηρεσίας, και ότι πιθανές καθυστερήσεις που μπορεί να προκύψουν κατά την επικοινωνία με τους εξυπηρετητές είναι αμελητέες. 5.3 Υποθέσεις Πιο επίσημα, το πρόβλημα μπορεί να διατυπωθεί με μαθηματικό τρόπο ως εξής: Σχετικά με τις δεσμεύσεις πόρων εκ των πρότερων, ο χρόνος καθορίζεται σε χρονοθυρίδες {T } N κάθε μια από τις οποίες αποτελείται από X χρονικές μονάδες, ακολουθώντας το παράδειγμα των time slice-based επεξεργαστών, όπου T = T + X. Κάθε χρονοθυρίδα αντιπροσωπεύει τη μικρότερη δυνατή διαμέριση του χρόνου. Ο χρονικός ορίζοντας TH καθορίζεται ως TH = {T k N k h} όπου h N. Κατά τη διάρκεια του χρονικού ορίζοντα ΤΗ, ο χρήστης μπορεί να δεσμεύσει οποιαδήποτε χρονικό διάστημα ΤR το οποίο ορίζεται ως εξής: TR = {T TH k N start k end}. (5.1) Και επομένως η χρονική διάρκεια του χρονικού διαστήματος ΤR είναι (end start)x. 72

87 Κάθε υπηρεσία s S, ενεργοποιείται μέσα στο πλαίσιο μιας εκ των προτέρων δέσμευσης πόρων r, η οποία συσχετίζεται με το χειρότερο χρόνο εκτέλεσης (worst-case execution time - WCET) C τον οποίο ενδέχεται να χρειαστεί μια υπηρεσία σε ένα δεδομένο μηχάνημα m (ο δείκτης μηχανήματος m μπορεί να εξαιρεθεί από το μαθηματικό συμβολισμό όπου δεν γίνεται ευθύς αναφορά σε συγκεκριμένο μηχάνημα ). Σε ό,τι ακολουθεί, υποθέτουμε ότι οι χειρότεροι χρόνοι εκτέλεσης των υπηρεσιών, {C }, έχουν εκτιμηθεί λαμβάνοντας υπόψη ότι ολόκληρη η εκτέλεση πραγματοποιήθηκε σε μια μονό Κεντρική Μονάδα Επεξεργασίας (KME -CPU), ανάμεσα σε αυτές που είναι διαθέσιμες σε κάθε μηχάνημα. Επιπλέον, χάριν απλότητας, η παρούσα μελέτη δεν επιλαμβάνεται του προβλήματος σχετικά με το πώς και εάν θα πρέπει να αξιοποιηθούν πιθανές δυνατότητες παραλληλισμού της CPU, αναφορικά με μια υπηρεσία που εκτελείται σε κάποιον φυσικό εξυπηρετητή. Ωστόσο, πρέπει να σημειωθεί ότι ο παραλληλισμός σε επίπεδο ροής εργασίας δεν αποκλείεται από την ανάλυση. Όπως έχει ήδη αναφερθεί, οι χρήστες θέλουν να πραγματοποιούν πολλαπλές εκτελέσεις της ροής εργασιών που αποτελούν την εφαρμογή χωρίς να υπόκεινται σε αυστηρά καθορισμένους χρόνους έναρξης της εκτέλεσης. Για την ικανοποίηση αυτού του αιτήματος το οποίο επιβάλλεται από τον άγνωστο αριθμό εκτελέσεων και τον αυθαίρετο χρόνο έναρξης αυτών, το σύστημα διαχείρισης των πόρων αξιολογεί και δεσμεύει υπολογιστικούς πόρους για κάθε μια από τις υπηρεσίες που αποτελούν τη ροή αναφορικά με το ίδιο χρονικό διάστημα, το οποίο ισούται με τον συνολικό χρόνο δέσμευσης για ολόκληρη τη ροή, δηλαδή TR. Ωστόσο, είναι λογικό να υποθέσουμε ότι, μέσα στο συνολικό χρονικό διάστημα TR, κάθε υπηρεσία της εφαρμογής θα είναι ενεργή μόνο για ένα μικρό μέρος αυτού. 73

88 Κάθε εκτέλεση της εφαρμογής η οποία συσχετίζεται με μια εκ των πρoτέρων δέσμευση πόρων r αντιστοιχεί σε μια το μέγιστο ενεργοποίηση της κάθε υπηρεσίας που εμπλέκεται στην ροή εργασίας και χαρακτηρίζεται από τον χειρότερο χρόνο εκτέλεσης που ισούται με C. Στο υπό εξέταση μοντέλο, χρησιμοποιούμε γενικούς και όχι εκθετικούς χρόνους εκτέλεσης, και κάθε δέσμευση πόρων r συσχετίζεται με μια ελάχιστη περίοδο άφιξης T, η οποία αντιστοιχεί στον ελάχιστο χρόνο που μπορεί να παρέλθει ανάμεσα σε δύο διαδοχικές κλήσεις για ενεργοποίηση της ίδιας υπηρεσίας στη ροή. Η δέσμευση των υποκείμενων πόρων πρέπει να ρυθμιστεί με τέτοιο τρόπο ώστε να υποστηρίζει μια εκτέλεση της συνολικής ροής εργασιών κάθε χρονικό διάστημα ίσο με T. Κάθε υπηρεσία s η οποία συμμετέχει σε μια εκ των προτέρων δέσμευση πόρων r συσχετίζεται με μια προθεσμία (deadline) d, η οποία συνιστά τον εξής χρονικό περιορισμό: η εκτέλεση του στιγμιότυπου της υπηρεσίας θα επιτρέπεται μόνο όταν ο χρόνος απόκρισης (δηλαδή ο χρόνος ανάμεσα στην έναρξη και τη λήξη της εκτέλεσης της υπηρεσίας) είναι μικρότερος ή ίσος με την προθεσμία. Πιο επίσημα, αν για το χρόνο έναρξης της εκτέλεσης της υπηρεσίας χρησιμοποιήσουμε το συμβολισμό a (ο οποίος ενδέχεται να μην είναι απαραίτητα ίσος με τη χρονική στιγμή της ενεργοποίησης εξαιτίας πιθανού χρονοπρογραμματισμού άλλων εργασιών) και για το χρόνο λήξης χρησιμοποιήσουμε το συμβολισμό f, τότε ο εν λόγω περιορισμός μπορεί να μοντελοποιηθεί μαθηματικά ως εξής: k, f a d. (5.2) Ο χρόνος απόκρισης της k ενεργοποίησης της υπηρεσίας s, μπορεί να καθοριστεί ως ρ = f a. Η ελάχιστη επιτρεπόμενη τιμή για το χρόνο 74

89 απόκρισης ρ είναι C, ωστόσο μια τόσο αυστηρή τιμή, η οποία είναι η καλύτερη που μπορεί να επιτευχθεί, θα υπονοούσε ότι δεν υπάρχει καμία πιθανότητα για χρονικό διαμερισμό του ίδιου μηχανήματος με άλλες εργασίες. 5.4 Προτεινόμενη Μεθοδολογία Χρήση στατιστικής γνώσης αναφορικά με την πραγματική χρήση των υπηρεσιών από τους χρηστές Η ανάθεση παραμέτρων χρονοπρογραμματισμού που αναλύθηκε στις προηγούμενες παραγράφους είναι ικανοποιητική στις περιπτώσεις που το σύστημα υποβάλλεται σε τέτοιο φόρτο, ώστε στα πλαίσια της κάθε δέσμευσης πόρων, κάθε υπηρεσία είναι συνεχώς ενεργή, δηλαδή, η πραγματική χρησιμοποίηση του δεσμευμένου ποσοστού των πόρων για κάθε δέσμευση είναι πολύ κοντά στον κορεσμό. Σχήμα 19. Παράδειγμα επικαλυπτόμενων δεσμεύσεων σε έναν εξυπηρετητή. Ωστόσο, στα πλαίσια του προβλήματος που παρουσιάστηκε στο Κεφάλαιο 5.2, οι υπηρεσίες δε θα είναι συνεχώς ενεργές κατά τη διάρκεια του δεσμευμένου χρονικού διαστήματος TR λόγω των εξαρτήσεων αυτών από άλλες υπηρεσίες της ροής εργασιών, ή επειδή απλά ο χρήστης δεν χρησιμοποιεί την εφαρμογή, όπως παρουσιάζεται στο Σχήμα

90 Σε αυτές τις περιπτώσεις, είναι επιθυμητό από την πλευρά του παρόχου των πόρων να εκμεταλλευτεί τη στατιστική πολυπλεξία μεταξύ των φιλοξενούμενων εφαρμογών που επικαλύπτονται χρονικά, όπως παρουσιάζεται στο Σχήμα 20, (δηλαδή, τα μοτίβα ενεργοποίησης τους υποτίθεται ότι είναι ανεξάρτητα το ένα από το άλλο) με το να παρέχει μια πιθανοτική εγγύηση σε χαμηλότερο κόστος, σε σύγκριση με την αιτιοκρατική που κοστίζει περισσότερο. Κατ αυτόν τον τρόπο, είναι εμφανές ότι αυξάνεται η δυνατότητα φιλοξενίας στον ίδιο εξυπηρετητή και κάτω από το ίδιο χρονικό διάστημα ενός αυξημένου αριθμού υπηρεσιών, κάτι που δεν θα ήταν επιτρεπτό, λόγω του περιορισμού ως προς την χωρητικότητα του επεξεργαστή. Σχήμα 20. Χρήση στατιστικής πληροφορίας αναφορικά με την πιθανότητα ενεργοποίησης των υπηρεσιών των διαφορετικών εφαρμογών που φιλοξενούνται στον ίδιο εξυπηρετητή Ομαδοποίηση χρονικά επικαλυπτόμενων δεσμεύσεων πόρων Θεωρούμε μια εκ των προτέρων δέσμευση πόρων r η οποία συσχετίζεται με μια ροή εργασιών που αποτελείται από υπηρεσίες και χαρακτηρίζεται από ένα περιορισμό D ως προς την ποιότητα της υπηρεσίας αναφορικά με το συνολικό χρόνο απόκρισης ρ. Μπορούμε να υποθέσουμε ότι ένας τέτοιος περιορισμός χωρίζεται σε 76

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

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

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

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

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

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

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

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

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

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

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

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

Συστήματα πολυμέσων. Εισαγωγή Υλικό συστημάτων πολυμέσων Λογισμικό συστημάτων πολυμέσων Συστήματα πραγματικού χρόνου Χρονοπρογραμματισμός

Συστήματα πολυμέσων. Εισαγωγή Υλικό συστημάτων πολυμέσων Λογισμικό συστημάτων πολυμέσων Συστήματα πραγματικού χρόνου Χρονοπρογραμματισμός Συστήματα πολυμέσων Εισαγωγή Υλικό συστημάτων πολυμέσων Λογισμικό συστημάτων πολυμέσων Συστήματα πραγματικού χρόνου Χρονοπρογραμματισμός Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 03-1 Εισαγωγή

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΙΣΗΓΗΤΗΣ: Δρ. Ιωάννης Σ. Τουρτούρας Μηχανικός Παραγωγής & Διοίκησης Δ.Π.Θ. Χρηματοδότηση Το παρόν εκπαιδευτικό

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΣΥΣΤHΜΑΤΑ ΑΠΟΦAΣΕΩΝ ΣΤΗΝ ΠΑΡΑΓΩΓH

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

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

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή (2/2) Επισκόπηση Γνώσεων Πιθανοτήτων (1/2)

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή (2/2) Επισκόπηση Γνώσεων Πιθανοτήτων (1/2) ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή (2/2) Επισκόπηση Γνώσεων Πιθανοτήτων (1/2) Βασίλης Μάγκλαρης maglaris@netmode.ntua.gr 8/3/2017 ΠΑΡΑΜΕΤΡΟΙ (1/4) (Επανάληψη) Ένταση φορτίου (traffic intensity)

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

ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ Tel.: +30 2310998051, Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Σχολή Θετικών Επιστημών Τμήμα Φυσικής 541 24 Θεσσαλονίκη Καθηγητής Γεώργιος Θεοδώρου Ιστοσελίδα: http://users.auth.gr/theodoru ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

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

ΤΕΙ ΚΡΗΤΗΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ. ΔΙΟΙΚΗΣΗ ΠΑΡΑΓΩΓΗΣ ΔΙΑΧΕΙΡΗΣΗ ΑΠΟΘΕΜΑΤΩΝ ΕΝΟΤΗΤΑ 7η

ΤΕΙ ΚΡΗΤΗΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ. ΔΙΟΙΚΗΣΗ ΠΑΡΑΓΩΓΗΣ ΔΙΑΧΕΙΡΗΣΗ ΑΠΟΘΕΜΑΤΩΝ ΕΝΟΤΗΤΑ 7η ΤΕΙ ΚΡΗΤΗΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΔΙΟΙΚΗΣΗ ΠΑΡΑΓΩΓΗΣ ΔΙΑΧΕΙΡΗΣΗ ΑΠΟΘΕΜΑΤΩΝ ΕΝΟΤΗΤΑ 7η ΓΙΑΝΝΗΣ ΦΑΝΟΥΡΓΙΑΚΗΣ ΕΠΙΣΤΗΜΟΝΙΚΟΣ ΣΥΝΕΡΓΑΤΗΣ ΤΕΙ ΚΡΗΤΗΣ Τι ορίζεται ως απόθεμα;

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

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

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

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

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

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

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

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1 ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1 1 Βελτιστοποίηση Στην προσπάθεια αντιμετώπισης και επίλυσης των προβλημάτων που προκύπτουν στην πράξη, αναπτύσσουμε μαθηματικά μοντέλα,

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

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

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

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

Προσομοίωση Μοντέλων Επιχειρησιακών Διαδικασιών

Προσομοίωση Μοντέλων Επιχειρησιακών Διαδικασιών Προσομοίωση Μοντέλων Επιχειρησιακών Διαδικασιών Α. Τσαλγατίδου - Γ.-Δ. Κάπος Πρόγραμμα Μεταπτυχιακών Σπουδών Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών 2017-2018 Σκοπός Διαλέξεων Κίνητρα για προσομοίωση

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

Case 10: Ανάλυση Νεκρού Σημείου (Break Even Analysis) με περιορισμούς ΣΕΝΑΡΙΟ

Case 10: Ανάλυση Νεκρού Σημείου (Break Even Analysis) με περιορισμούς ΣΕΝΑΡΙΟ Case 10: Ανάλυση Νεκρού Σημείου (Break Even Analysis) με περιορισμούς ΣΕΝΑΡΙΟ Η «OutBoard Motors Co» παράγει τέσσερα διαφορετικά είδη εξωλέμβιων (προϊόντα 1 4) Ο γενικός διευθυντής κ. Σχοινάς, ενδιαφέρεται

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

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

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

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

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

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. 2 η Γραπτή Εργασία ΠΛΗ 23 Ακαδημαϊκό Έτος 2012-2013 (Τόμος Α, Κεφάλαια 1-3) Ημερομηνία Παράδοσης 27/01/2013.

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. 2 η Γραπτή Εργασία ΠΛΗ 23 Ακαδημαϊκό Έτος 2012-2013 (Τόμος Α, Κεφάλαια 1-3) Ημερομηνία Παράδοσης 27/01/2013. Στόχος: 2 η Γραπτή Εργασία ΠΛΗ 23 Ακαδημαϊκό Έτος 2012-2013 (Τόμος Α, Κεφάλαια 1-3) Ημερομηνία Παράδοσης 27/01/2013 Άσκηση 4 Η κατανόηση βασικών εννοιών όσον αφορά τη μετάδοση πολυμεσικής πληροφορίας,

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

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην Πληροφορική Αστροφυσικός Αναπλ. Καθηγητής ΕΜΠ romylos@survey.ntua.gr Λειτουργικά συστήµατα, διεργασίες και δροµολόγηση Σύνδεση

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

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

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

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

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

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

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

ΠΕΡΙΛΗΨΗ Δ.Δ ΔΗΜΗΣΡΑΚΟΠΟΤΛΟ

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

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

Εργαστήριο Υπολογιστικών Συστημάτων Καθ. Γεώργιος Παπακωνσταντίνου Μάρτιος 2005

Εργαστήριο Υπολογιστικών Συστημάτων Καθ. Γεώργιος Παπακωνσταντίνου Μάρτιος 2005 Θεωρητικό Μέρος Εργαστήριο Υπολογιστικών Συστημάτων Καθ. Γεώργιος Παπακωνσταντίνου Μάρτιος 2005 2 η ΑΣΚΗΣΗ Έλεγχος κίνησης µάζας 1 Τα Ενσωµατωµένα Συστήµατα (embedded systems) είναι υπολογιστικά συστήµατα

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

ΑΔΙΕΞΟΔΑ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

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

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

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

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΤΕΧΝΙΚΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΤΕΧΝΙΚΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΕΥΑΓΓΕΛΙΑΣ Π. ΛΟΥΚΟΓΕΩΡΓΑΚΗ Διπλωματούχου Πολιτικού Μηχανικού ΟΛΟΚΛΗΡΩΜΕΝΟ

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

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

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

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

Ηλεκτρονικός οδηγός για τους φοιτητές ενός Α.Ε.Ι.

Ηλεκτρονικός οδηγός για τους φοιτητές ενός Α.Ε.Ι. Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Ηλεκτρονικός οδηγός για τους φοιτητές ενός Α.Ε.Ι. Πτυχιιακή Εργασίία Φοιτητής: Δημήτριος Παπαοικονόμου ΑΜ: 36712

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

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

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

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

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Παράμετροι Συστημάτων Αναμονής Τύπος Little

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

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

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

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

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

ΗΥ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. Περίληψη Συνεισφοράς

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

Μεταπτυχιακή εργασία

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

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

On line αλγόριθμοι δρομολόγησης για στοχαστικά δίκτυα σε πραγματικό χρόνο

On line αλγόριθμοι δρομολόγησης για στοχαστικά δίκτυα σε πραγματικό χρόνο On line αλγόριθμοι δρομολόγησης για στοχαστικά δίκτυα σε πραγματικό χρόνο Υπ. Διδάκτωρ : Ευαγγελία Χρυσοχόου Επιβλέπων Καθηγητής: Αθανάσιος Ζηλιασκόπουλος Τμήμα Μηχανολόγων Μηχανικών Περιεχόμενα Εισαγωγή

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

Ανάλυση Χρόνου, Πόρων & Κόστους

Ανάλυση Χρόνου, Πόρων & Κόστους ΠΜΣ: «Παραγωγή και ιαχείριση Ενέργειας» ιαχείριση Ενέργειας και ιοίκηση Έργων Ανάλυση Χρόνου, Πόρων & Κόστους Επ. Καθηγητής Χάρης ούκας, Καθηγητής Ιωάννης Ψαρράς Εργαστήριο Συστημάτων Αποφάσεων & ιοίκησης

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

Λειτουργικά συστήματα πραγματικού χρόνου

Λειτουργικά συστήματα πραγματικού χρόνου Λειτουργικά συστήματα πραγματικού χρόνου Τι είναι λειτουργικό σύστημα πραγματικού χρόνου; Λειτουργικό Σύστημα Πραγματικού Χρόνου (ΛΣΠΧ) είναι ένα λειτουργικό σύστημα που προορίζεται για εφαρμογές πραγματικού

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

ΔΥΝΑΜΙΚΗ ΜΗΧΑΝΩΝ Ι

ΔΥΝΑΜΙΚΗ ΜΗΧΑΝΩΝ Ι Δυναμική Μηχανών Ι Ακαδημαϊκό έτος: 015-016 ΔΥΝΑΜΙΚΗ ΜΗΧΑΝΩΝ Ι - 1.1- Δυναμική Μηχανών Ι Ακαδημαϊκό έτος: 015-016 Copyright ΕΜΠ - Σχολή Μηχανολόγων Μηχανικών - Εργαστήριο Δυναμικής και Κατασκευών - 015.

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

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

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

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

ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εισαγωγή Ο Δυναμικός Προγραμματισμός (ΔΠ) είναι μία υπολογιστική μέθοδος η οποία εφαρμόζεται όταν πρόκειται να ληφθεί μία σύνθετη απόφαση η οποία προκύπτει από τη σύνθεση επιμέρους

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

Το μάθημα. Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες 6. Ενσωματωμένα Συστήματα (embedded systems) Παραδείγματα

Το μάθημα. Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες 6. Ενσωματωμένα Συστήματα (embedded systems) Παραδείγματα Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες Το μάθημα ΛΣ Πραγματικού Χρόνου Θεωρητικό υπόβαθρο Αρχές Προγραμματισμού Παραδείγματα ΛΣ Εργασίες

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

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων Ι Σύνολο- Περιεχόμενο Μαθήματος

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων Ι Σύνολο- Περιεχόμενο Μαθήματος Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων Ι Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

Προσομοίωση Βιομηχανικής Παραγωγής & Επιχειρήσεων

Προσομοίωση Βιομηχανικής Παραγωγής & Επιχειρήσεων Προσομοίωση Βιομηχανικής Παραγωγής & Επιχειρήσεων Ζ Εξάμηνο 2Θ+2Ε jdim@staff.teicrete.gr ΠΡΟΣΟΜΟΙΩΣΗ 1 ΠΡΟΣΟΜΟΙΩΣΗ: ΟΡΙΣΜΟΣ Wikipedia: Simulation is the imitation of the operation of a real-world process

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

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

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

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

Πρόλογος Κατανόηση της εφοδιαστικής αλυσίδας Σχεδιασμός δικτύου εφοδιαστικής αλυσίδας...41

Πρόλογος Κατανόηση της εφοδιαστικής αλυσίδας Σχεδιασμός δικτύου εφοδιαστικής αλυσίδας...41 Περιεχόμενα Πρόλογος...7 1 Κατανόηση της εφοδιαστικής αλυσίδας...9 2 Σχεδιασμός δικτύου εφοδιαστικής αλυσίδας...41 3 Πρόβλεψη της ζήτησης σε μια εφοδιαστική αλυσίδα...109 4 Συγκεντρωτικός προγραμματισμός

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

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

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

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

Γουλή Ευαγγελία. 1. Εισαγωγή. 2. Παρουσίαση και Σχολιασµός των Εργασιών της Συνεδρίας

Γουλή Ευαγγελία. 1. Εισαγωγή. 2. Παρουσίαση και Σχολιασµός των Εργασιών της Συνεδρίας 1. Εισαγωγή Σχολιασµός των εργασιών της 16 ης παράλληλης συνεδρίας µε θέµα «Σχεδίαση Περιβαλλόντων για ιδασκαλία Προγραµµατισµού» που πραγµατοποιήθηκε στο πλαίσιο του 4 ου Πανελλήνιου Συνεδρίου «ιδακτική

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

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

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

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

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 7: Η επιλογή των πιθανοτικών κατανομών εισόδου

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

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

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

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

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

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

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

Διοίκηση Παραγωγής και Υπηρεσιών

Διοίκηση Παραγωγής και Υπηρεσιών Διοίκηση Παραγωγής και Υπηρεσιών Εισαγωγή -3 Γιώργος Ιωάννου, Ph.D. Αναπληρωτής Καθηγητής Σύνοψη διάλεξης Σχεδιασμός διαδικασιών ορισμός Συστημική προσέγγιση Μεθοδολογίες σχεδιασμού διαδικασιών Διαγράμματα

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

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ 3.1 Τυχαίοι αριθμοί Στην προσομοίωση διακριτών γεγονότων γίνεται χρήση ακολουθίας τυχαίων αριθμών στις περιπτώσεις που απαιτείται η δημιουργία στοχαστικών

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

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

Λειτουργικά Συστήματα Πραγματικού Χρόνου Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες Μ.Στεφανιδάκης Το μάθημα ΛΣ Πραγματικού Χρόνου Θεωρητικό υπόβαθρο Αρχές Προγραμματισμού Παραδείγματα

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

Διαδραστικότητα και πλοήγηση σε ψηφιακούς χάρτες

Διαδραστικότητα και πλοήγηση σε ψηφιακούς χάρτες Ενότητα 10 η Διαδραστικότητα και πλοήγηση σε ψηφιακούς χάρτες Βύρωνας Νάκος Καθηγητής Ε.Μ.Π. - bnakos@central.ntua.gr Bασίλης Κρασανάκης Υποψήφιος διδάκτορας Ε.Μ.Π. krasvas@mail.ntua.gr Β. Νάκος & Β. Κρασανάκης

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

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

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

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

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Προσομοίωση ενός συστήματος αναμονής

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

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

Γ Γυμνασίου: Οδηγίες Γραπτής Εργασίας και Σεμιναρίων. Επιμέλεια Καραβλίδης Αλέξανδρος. Πίνακας περιεχομένων

Γ Γυμνασίου: Οδηγίες Γραπτής Εργασίας και Σεμιναρίων. Επιμέλεια Καραβλίδης Αλέξανδρος. Πίνακας περιεχομένων Γ Γυμνασίου: Οδηγίες Γραπτής Εργασίας και Σεμιναρίων. Πίνακας περιεχομένων Τίτλος της έρευνας (title)... 2 Περιγραφή του προβλήματος (Statement of the problem)... 2 Περιγραφή του σκοπού της έρευνας (statement

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

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

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

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

Σχολή Μηχανικής και Τεχνολογίας. Πτυχιακή διατριβή

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

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

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

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο Εισαγωγικές Έννοιες ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

Εργαστήριο Υπολογιστικών Συστημάτων

Εργαστήριο Υπολογιστικών Συστημάτων Εργαστήριο Υπολογιστικών Συστημάτων Θεωρητικό Υπόβαθρο Άσκηση 2 η Έλεγχος Κίνησης Μάζας Καθ. Γεώργιος Παπακωνσταντίνου Μάρτιος 2006 Τα Ενσωματωμένα Συστήματα (embedded systems) είναι υπολογιστικά συστήματα

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

Στο στάδιο ανάλυσης των αποτελεσµάτων: ανάλυση ευαισθησίας της λύσης, προσδιορισµός της σύγκρουσης των κριτηρίων.

Στο στάδιο ανάλυσης των αποτελεσµάτων: ανάλυση ευαισθησίας της λύσης, προσδιορισµός της σύγκρουσης των κριτηρίων. ΠΕΡΙΛΗΨΗ Η τεχνική αυτή έκθεση περιλαµβάνει αναλυτική περιγραφή των εναλλακτικών µεθόδων πολυκριτηριακής ανάλυσης που εξετάσθηκαν µε στόχο να επιλεγεί η µέθοδος εκείνη η οποία είναι η πιο κατάλληλη για

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

Η επίδραση της δειγματοληπτικής αβεβαιότητας των εισροών στη στοχαστική προσομοίωση ταμιευτήρα

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

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

Ποιότητα μετάδοσης πολυμεσικού περιεχομένου στο διαδίκτυο

Ποιότητα μετάδοσης πολυμεσικού περιεχομένου στο διαδίκτυο ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΓΡΑΦΙΚΕΣ ΤΕΧΝΕΣ ΠΟΛΥΜΕΣΑ ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΓΤΠ 61 Πληροφορική Πολυμέσα Ποιότητα μετάδοσης πολυμεσικού περιεχομένου στο διαδίκτυο Παρουσίαση 13-12-2009 Δροσοπούλου Χρυσάνθη

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

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

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

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

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

Η Επίδραση των Events στην Απόδοση των Μετοχών

Η Επίδραση των Events στην Απόδοση των Μετοχών Χρηματοοικονομικά και Διοίκηση Μεταπτυχιακή διατριβή Η Επίδραση των Events στην Απόδοση των Μετοχών Άντρεα Φωτίου Λεμεσός, Μάιος 2018 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΔΙΟΙΚΗΣΗΣ

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

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

ΤΕΙ ΗΠΕΙΡΟΥ ΣΧΟΛΗ. ΤΜΗΜΑ ΠΜΣ.. ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Ο ΤΙΤΛΟΣ ΤΗΣ ΜΕΤΑΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ ΜΕ ΚΕΦΑΛΑΙΑ ΓΡΑΜΜΑΤΑ ΚΑΙ ΣΤΟΙΧΙΣΗ ΣΤΟ ΚΕΝΤΡΟ Εξώφυλλο ΤΕΙ ΗΠΕΙΡΟΥ ΣΧΟΛΗ. ΤΜΗΜΑ ΠΜΣ.. ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Ο ΤΙΤΛΟΣ ΤΗΣ ΜΕΤΑΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ ΜΕ ΚΕΦΑΛΑΙΑ ΓΡΑΜΜΑΤΑ ΚΑΙ ΣΤΟΙΧΙΣΗ ΣΤΟ ΚΕΝΤΡΟ Όνομα Επίθετο φοιτητή/τριας [Με πεζά στοιχεία και στοίχιση

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΕΡΓΑΛΕΙΑ ΙΟΙΚΗΣΗΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΜΑΘΗΜΑ: ΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΙΟΙΚΗΣΗ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΑΘΗΜΑ: ΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΡΓΑΛΕΙΑ ΙΟΙΚΗΣΗΣ ιδάσκων:

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

ιοίκηση Παραγωγής και Υπηρεσιών

ιοίκηση Παραγωγής και Υπηρεσιών ιοίκηση Παραγωγής και Υπηρεσιών Προγραµµατισµός Παραγωγής Εισαγωγή Ορισµοί Προβλήµατα µίας µηχανής Γιώργος Ιωάννου, Ph.D. Αναπληρωτής Καθηγητής Σύνοψη διάλεξης Ορισµός Προγραµµατισµού Παραγωγής Είδη προβληµάτων

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

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

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

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

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

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Παράμετροι Ουρών Αναμονής Βασίλης Μάγκλαρης maglaris@netmode.ntua.gr 13/3/2019 ΠΑΡΑΜΕΤΡΟΙ (1/3) Ένταση φορτίου (traffic intensity) Σε περίπτωση 1 ουράς, 1 εξυπηρετητή:

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

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

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

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

ΣΥΣΤHΜΑΤΑ ΑΠΟΦAΣΕΩΝ ΣΤΗΝ ΠΑΡΑΓΩΓH

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

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

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

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

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

Περιεχόμενο του μαθήματος

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Απαιτήσεις Λογισμικού Περιπτώσεις χρήσης Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Περιεχόμενο του μαθήματος

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

215 Μηχανικών Η/Υ και Πληροφορικής Πάτρας

215 Μηχανικών Η/Υ και Πληροφορικής Πάτρας 215 Μηχανικών Η/Υ και Πληροφορικής Πάτρας Το Τμήμα ασχολείται με τη διδασκαλία και την έρευνα στην επιστήμη και τεχνολογία των υπολογιστών και τη μελέτη των εφαρμογών τους. Το Τμήμα ιδρύθηκε το 1980 (ως

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

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

ΠΡΟΓΡΑΜΜΑ ΕΠΑΝΑΛΗΠΤΙΚΩΝ ΕΞΕΤΑΣΕΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδημαϊκό Έτος 2015-2016 Περίοδος Σεπτεμβρίου 2016 ΠΡΟΓΡΑΜΜΑ ΕΠΑΝΑΛΗΠΤΙΚΩΝ ΕΞΕΤΑΣΕΩΝ ΗΜΕΡΟΜΗΝΙΑ ΩΡΑ 1-2o ΕΞΑΜΗΝΟ 3-4ο ΕΞΑΜΗΝΟ

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

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

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

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

Κύρια σημεία. Η έννοια του μοντέλου. Έρευνα στην εφαρμοσμένη Στατιστική. ΈρευναστηΜαθηματικήΣτατιστική. Αντικείμενο της Μαθηματικής Στατιστικής

Κύρια σημεία. Η έννοια του μοντέλου. Έρευνα στην εφαρμοσμένη Στατιστική. ΈρευναστηΜαθηματικήΣτατιστική. Αντικείμενο της Μαθηματικής Στατιστικής Κύρια σημεία Ερευνητική Μεθοδολογία και Μαθηματική Στατιστική Απόστολος Μπουρνέτας Τμήμα Μαθηματικών ΕΚΠΑ Αναζήτηση ερευνητικού θέματος Εισαγωγή στην έρευνα Ολοκλήρωση ερευνητικής εργασίας Ο ρόλος των

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

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

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

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

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

3 Ο ΜΑΘΗΜΑ ΚΑΤΑΝΟΜΗ ΠΟΡΩΝ ΔΡ ΛΕΩΝΙΔΑΣ ΑΝΘΟΠΟΥΛΟΣ, ΕΠΙΚΟΥΡΟΣ ΚΑΘΗΓΗΤΗΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΕΡΓΩΝ ΤΕΙ ΛΑΡΙΣΑΣ Διαχείριση Τεχνικών Έργων 3 Ο ΜΑΘΗΜΑ ΚΑΤΑΝΟΜΗ ΠΟΡΩΝ ΔΡ ΛΕΩΝΙΔΑΣ ΑΝΘΟΠΟΥΛΟΣ, ΕΠΙΚΟΥΡΟΣ ΚΑΘΗΓΗΤΗΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΕΡΓΩΝ ΤΕΙ ΛΑΡΙΣΑΣ Μέθοδοι κατανομής πόρων Ορισμοί-Παραδοχές: Πόροι: προσωπικό,

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