Εργαστηριακή Άσκηση 2011-2012 Το σύστημα αναμονής M/G/1 Γιάννης Γαροφαλάκης, Καθηγητής Αθανάσιος Ν.Νικολακόπουλος, Υποψ. Διδάκτορας Σκοπός της παρούσας εργασίας είναι η εξερεύνηση των βασικών ιδιοτήτων ενός από τα κλασικότερα μοντέλα της θεωρίας αναμονής: της ουράς M/G/1. Αφού αποδείξουμε με ενστικτώδη τρόπο τον κλειστό τύπο που δίνει το μέσο χρόνο αναμονής στην ουρά (την περίφημη Pollaczek-Khintchine φόρμουλα...) εξετάζουμε μέσα από ασκήσεις, εφαρμογές της ουράς στη μοντελοποίηση και την ανάλυση της απόδοσης απλών συστημάτων. 1. Το Σύστημα M/G/1 Θεωρούμε ένα σύστημα στο οποίο οι πελάτες φθάνουν σύμφωνα με τη διαδικασία Poisson με ρυθμό λ, και οι χρόνοι εξυπηρέτησης είναι γενικά κατανεμημένοι. Συγκεκριμένα, θεωρούμε πως οι πελάτες εξυπηρετούνται με την σειρά που φθάνουν και πως X i είναι ο χρόνος εξυπηρέτησης της i-οστής άφιξης. Υποθέτουμε πως οι τυχαίες μεταβλητές (X 1, X 2,... ) είναι όμοια κατανεμημένες, ανεξάρτητες μεταξύ τους, και ανεξάρτητες των χρόνων μεταξύ διαδοχικών αφίξεων. Έστω ότι ο μέσος χρόνος εξυπηρέτησης (δηλαδή η μέση τιμή των τυχαίων μεταβλητών X i ) είναι: E[X] = 1 µ H Pollaczek-Khintchine (P-K) φόρμουλα δίνει το μέσο χρόνο αναμονής στην ουρά συναρτήσει του ρυθμού αφίξεων, του ρυθμού εξυπηρέτησης και της ποσότητας: E[X 2 ] (δεύτερη ροπή του χρόνου εξυπηρέτησης): W = λe[x2 ] (1.1) όπου W είναι ο μέσος χρόνος που περνά ένας πελάτης περιμένοντας στην ουρά και ρ = λ/µ = λe[x]. Όταν γνωρίζει κανείς την (P-K), προφανώς μπορεί πολύ εύκολα να πάρει όλες τις βασικές ενδιαφέρουσες μετρικές με χρήση του νόμου του Little.
Μέσος Συνολικός Χρόνος Στο Σύστημα: T = λe[x 2 ] E[X] + }{{} μέσος χρόνος εξυπηρέτησης }{{} μέσος χρόνος στην ουρά Μέσος Αριθμός Πελατών Στην Ουρά: N Q = λ W = λ2 E[X 2 ] Μέσος Αριθμός Πελατών Στο Σύστημα: N = ρ + λ2 E[X 2 ] }{{} Μέσος αριθμός πελατών στην εξυπηρέτηση }{{} N Q (1.2) (1.3) (1.4) Για την αυστηρή απόδειξη της (P-K) στη βιβλιογραφία συνήθως χρησιμοποιούνται οι ιδιότητες των renewal στοχαστικών διαδικασιών (βλέπε [1]), ή εναλλακτικά οι imbedded μαρκοβιανές αλυσίδες διακριτού χρόνου με ανάλυση στο πεδίο του μετασχηματισμού Laplace (βλέπε [2]). Εμείς εδώ θα ακολουθήσουμε μία λιγότερο αυστηρή αλλά πολύ διδακτική και ενστικτώδη προσέγγιση, που βασίζεται σε απλά γραφικά επιχειρήματα. Απόδειξη της P-K φόρμουλας Στόχος μας είναι η εύρεση του μέσου χρόνου αναμονής στην ουρά ενός τυχαίου πελάτη που φθάνει, όταν το σύστημα βρίσκεται σε κατάσταση ισορροπίας. Θεωρούμε τον i-οστό πελάτη που φθάνει στο σύστημα και συμβολίζουμε με W i τον χρόνο αναμονής του στην ουρά. Έστω N i ο αριθμός των πελατών που βρίσκει ο i να περιμένουν στην ουρά τη στιγμή της άφιξής του. Όταν N i > 0 προφανώς στο σύστημα εκτός από τους N i πελάτες που περιμένουν στην ουρά, υπάρχει κι άλλος ένας που βρίσκεται στον εξυπηρετητή. Έστω R i ο υπολειπόμενος χρόνος εξυπηρέτησης του πελάτη αυτού 1. Ο χρόνος W i θα ισούται με: W i = R i + j=i N i X j (1.5) Αυτό που μας ενδιαφέρει είναι η εύρεση της μέσης τιμής του χρόνου αναμονής, οπότε παίρνουμε μέσες τιμές της παραπάνω σχέσης: E[W i ] = E[R i ] + E[ X j ] j=i N i = E[R i ] + j=i E[N i] E[X j N i ] 1 Όταν N i = 0 τότε R i = 0 και ο πελάτης που φθάνει μπαίνει κατευθείαν για εξυπηρέτηση...
Κάνοντας χρήση της υπόθεσης ανεξαρτησίας των N i και X i 1,..., X i Ni, καθώς και του γεγονότος ότι οι τυχαίες μεταβλητές X i είναι όμοια κατανεμημένες, έχουμε: E[W i ] = E[R i ] + j=i E[N i ] = E[R i ] + E[X]E[N i ] E[X j ] οπότε θεωρώντας πως το σύστημα είναι εργοδικό και λειτουργεί σε κατάσταση ισορροπίας 2 έχουμε: W = R + 1 µ N Q (1.6) όπου ως R ορίζεται ο μέσος υπολειπόμενος χρόνος εξυπηρέτησης που βιώνει ένας τυχαίος πελάτης που φθάνει στο σύστημα όταν αυτό βρίσκεται σε ισορροπία. Από τον νόμο του Little, έχουμε πως ισχύει: N Q = λw οπότε αντικαθιστώντας στην 1.6 παίρνουμε: W = R 1 ρ (1.7) Το μόνο που μένει είναι να υπολογίσουμε το R. Στο σχήμα 1 σχεδιάζουμε τον υπολειπόμενο χρόνο εξυπηρέτησης, R(t), συναρτήσει του χρόνου t. Όταν τη στιγμή t i, ένας νέος πελάτης με χρόνο εξυπηρέτησης X i εισέλθει στον εξυπηρετητή, η R(t) ξεκινά από το σημείο (t i, X i ) και μειώνεται γραμμικά για X i μονάδες χρόνου (δηλαδή, μέχρι το σημείο (t i + X i, 0)). R(t) 0 X 1. X 1 X 2 X M(t) τ... Χρόνος t Σχήμα 1. Βλέπουμε τον υπολειπόμενο χρόνο εξυπηρέτησης R(t) συναρτήσει του χρόνου t. 2 Να σημειωθεί πως αυτό σημαίνει πως τα όρια των W i, N i, X i και R i καθώς i υπάρχουν και μπορούμε να τους θεωρήσουμε ανεξάρτητους του i
Θεωρούμε μία χρονική στιγμή τ για την οποία R(τ) = 0. Έστω ότι μέχρι τη στιγμή τ έχουν εξυπηρετηθεί M(τ) πελάτες. Ο μέσος χρόνος του R(t) στο διάστημα [0, τ] είναι: 1 τ R(t)dt = 1 M(τ) 1 τ 0 τ 2 X2 i i=1 Οπότε πολλαπλασιάζοντας και διαιρώντας με το M(τ) παίρνουμε 1 τ R(t)dt = 1 M(τ) M(τ) i=1 Xi 2 τ 2 τ M(τ) 0 τ 1 lim R(t)dt τ τ 0 }{{} Μέσος υπολειπόμενος χρόνος R = 1 2 M(τ) lim τ }{{ τ } ο ρυθμός αναχωρήσεων M(τ) i=1 X 2 i M(τ) lim τ } {{ } E[X 2 ] (1.8) Αλλά στην ισορροπία ο ρυθμός αναχωρήσεων από το σύστημα ισούται με τον ρυθμό αφίξεων στο σύστημα, λ, συνεπώς τελικά παίρνουμε: R = 1 2 λe[x2 ] (1.9) η οποία όταν αντικατασταθεί στην (1.6) μας δίνει το ζητούμενο: W = λe[x2 ] (1.10) Παρατηρήσεις. Η απόδειξη της P-K, παραπάνω, έκανε την παραδοχή πως οι πελάτες εξυπηρετούνται με την σειρά που φθάνουν, δηλαδή το πλήθος των πελατών που εξυπηρετούνται μεταξύ της χρονικής στιγμής άφιξης του i-οστού πελάτη και της εξυπηρέτησής του είναι ο αριθμός των πελατών στην ουρά κατά τη στιγμή άφιξης του i. Προκύπτει ωστόσο, πως η P-K ισχύει για οποιαδήποτε σειρά εξυπηρέτησης των πελατών, αρκεί η σειρά εξυπηρέτησης να μην εξαρτάται από τον χρόνο εξυπηρέτησης των πελατών στην ουρά. Με παρόμοια απλά επιχειρήματα μπορεί κανείς να απαντήσει κανείς και άλλες ενδιαφέρουσες ερωτήσεις σχετικά με την απόδοση του M/G/1, όπως: Ποιά η πιθανότητα να είναι το σύστημα άδειο; Ποιός ο μέσος χρόνος μεταξύ busy φάσεων του συστήματος; Ποιό το μέσο μήκος μιας busy φάσης; Ποιός ο μέσος αριθμός πελατών που εξυπηρετούνται σε μία busy φάση; Βέβαια, για να περιγράψει κανείς αναλυτικά το σύστημα (πχ να βρεί την κατανομή του χρόνου αναμονής, ή την κατανομή του πλήθους πελατών στην ουρά κλπ) είναι απαραίτητη η χρήση πιο προχωρημένων μαθηματικών τεχνικών. Όποιος ενδιαφέρεται για μια βαθύτερη μελέτη της M/G/1, παραπέμπεται στα συγγράμματα που παραθέτουμε στις αναφορές.
2. Ζητούμενα Πρόβλημα 1. (Θεωρία) (1 μονάδα) 1. Να τροποποιήσετε την παραπάνω απόδειξη για να καταλήξετε στους τύπους για τον μέσο χρόνο αναμονής στην ουρά για τα συστήματα M/M/1 και M/D/1. 2. Θεωρήστε το M/G/1 σύστημα στο οποίο οι πελάτες περιμένουν για να παραλάβουν δέματα στο ταχυδρομείο. Οι πελάτες φθάνουν σύμφωνα με τη διαδικασία Poisson με ρυθμό λ = 1 πελάτης κάθε 2 λεπτά. Ο κάθε πελάτης έχει να παραλάβει μέχρι k δέματα (1 k 4), και ισχύει Pr[k = 1] = 0.5, Pr[k = 2] = 0.25, Pr[k = 3] = 0.2, Pr[k = 4] = 0.05. Αν ο υπάλληλος στο ταχυδρομείο χρειάζεται ακριβώς 1 λεπτό για να βρεί το κάθε πακέτο, να βρεθεί με χρήση της P-K formula ο μέσος χρόνος αναμονής στην ουρά του ταχυδρομείου. 3. Κάποιος διατυπώνει το ακόλουθο επιχείρημα για το M/G/1 σύστημα: Όταν φθάνει ένας πελάτης, η πιθανότητα να εξυπηρετείται κάποιος άλλος πελάτης είναι λe[x]. Αφού ο πελάτης που εξυπηρετείται έχει μέσο χρόνο εξυπηρέτησης E[X], ο μέσος υπολειπόμενος χρόνος εξυπηρέτησης είναι: E[X] 2 λe[x] = λ( E[X] ) 2 Πού είναι το λάθος στον παραπάνω συλλογισμό? Πρόβλημα 2. (Ανάλυση Απόδοσης Τηλεπικοινωνιακού Συστήματος) (2 μονάδες) Θεωρούμε ένα τηλεπικοινωνιακό σύστημα στο οποίο φτάνουν πακέτα σύμφωνα με την κατανομή Poisson με ρυθμό λ πακέτα το λεπτό. Τα πακέτα έχουν μήκος L a, L b και L c bits με πιθανότητα p a, p b και p c αντίστοιχα. Το σύστημα μπορεί να μεταδίδει πακέτα με ρυθμό C bps. Τα πακέτα που φθάνουν, αποθηκεύονται σε buffer, πρακτικά άπειρου μήκους, ενώ θεωρούμε πως η μετάδοση των πακέτων γίνεται με τη σειρά που φθάνουν. 1. Να δωθεί αναλυτική λύση, των παρακάτω: (1 μονάδα) i. Να βρεθεί ο μέσος χρόνος αναμονής ενός πακέτου στον buffer του συστήματος. ii. Τροποποιούμε το σύστημα ώστε να χειρίζεται με διαφορετικό τρόπο τα μικρά πακέτα (L a bits) και με διαφορετικό τα μεγάλα (L b bits και L c bits). Συγκεκριμένα, όταν φθάνει ένα μικρό πακέτο, το σύστημα σταματάει την αποστολή οποιουδήποτε μεγαλύτερου πακέτου και στέλνει το μικρό πακέτο. Όταν η αποστολή του μικρού πακέτου ολοκληρωθεί συνεχίζει την αποστολή του μεγαλύτερου πακέτου από εκεί που είχε μείνει. Αν θεωρήσουμε το κανάλι ιδανικό, να βρεθεί το μέσο πλήθος μικρών πακέτων που υπάρχουν στον buffer του συστήματος στο τροποποιημένο σύστημα. iii. Έστω τώρα ότι το κανάλι μετάδοσης δεν είναι αξιόπιστο. Συγκεκριμένα υποθέτουμε πως η πιθανότητα ένα bit να μεταδοθεί εσφαλμένα είναι 2
p error. Στην περίπτωση που συμβεί σφάλμα κατά την μετάδοση, η αποστολή του πακέτου επαναλαμβάνεται μέχρι να μεταδοθεί σωστά. Θεωρούμε επίσης πως δεν έχουμε τρόπο να γνωρίζουμε αν η μετάδοση πραγματοποιήθηκε με επιτυχία πριν την ολοκλήρωση της αποστολής ολόκληρου του πακέτου. Να βρεθεί ο μέσος χρόνος αναμονής των μικρών πακέτων στον buffer του τροποποιημένου συστήματος στην περίπτωση αυτή. 2. Να γραφεί πρόγραμμα προσομοίωσης του συστήματος και να εκτιμηθούν οι μετρικές του ερωτήματος 1 για διάφορες τιμές των παραμέτρων L a, L b, L c, p a, p b, p c, p error.(1 μονάδα) Πρόβλημα 3. (Ανάλυση Απόδοσης Μονάδας Δίσκου) (2 μονάδες) Ο Χρόνος Εξυπηρέτησης, T s, μίας μονάδας δίσκου μπορεί να θεωρηθεί πως αποτελείται από 3 συνιστώσες. Αρχικά, η κεφαλή θα πρέπει να τοποθετηθεί πάνω από το σωστό track του δίσκου (αυτός είναι ο γνωστός seek time και συμβολίζεται με D s ), έπειτα έχουμε το rotational delay που συμβολίζεται με D r και ισούται με τον χρόνο να έρθει ο σωστός sector κάτω από την κεφαλή, και τελικά τα δεδομένα μεταφέρονται, σε χρόνο D t. Συνεπώς, ο χρόνος εξυπηρέτησης δίνεται από: T s = D s + D r + D t Υποθέτουμε πως ο δίσκος περιστρέφεται με ω περιστροφές το δευτερόλεπτο, και πως υπάρχουν n sectors σε κάθε track, και m tracks στο δίσκο. Υποθέτουμε πως τα δεδομένα μεταφέρονται από την κεφαλή προς το υπολογιστικό σύστημα με τον ρυθμό περιστροφής του δίσκου κάτω από την κεφαλή, δηλαδή χρειάζονται 1/(nω) δευτερόλεπτα για την μεταφορά ενός sector. Υποθέτουμε πως όλοι οι sectors του δίσκου προσπελάζονται ομοιόμορφα και κατά συνέπεια το rotational delay είναι ομοιόμορφα κατανεμημένο πάνω στο χρόνο που χρειάζεται ο δίσκος να κάνει μία περιστροφή. Επίσης υποθέτουμε πως ο χρόνος που χρειάζεται για την μετακίνηση της κεφαλής από το track i στο track j δίνεται από την συνάρτηση f( i j ). Η μηχανική κατασκευή του βραχίονα του δίσκου αποτελείται από ένα αυτοματοποιημένο σύστημα που επιτρέπει στην κεφαλή να επιταχύνει καθώς κινείται, κατά συνέπεια η f είναι υπογραμμική συνάρτηση. Συγκεκριμένα υποθέτουμε πως η f δίνεται από ( f(i) = ci 2 i ), i = 0, 1,..., m 1 m 1 όπου c κάποια σταθερά. Υποθέτουμε πως οι αφίξεις αιτήσεων στο δίσκο είναι Poisson με ρυθμό λ και πως εξυπηρετούνται με FCFS πολιτική. 1. Να δωθεί μία έκφραση του αναμενόμενου χρόνου απόκρισης του συστήματος, συναρτήσει των ω, n, c, m. (1 μονάδα) 2. Να γραφεί πρόγραμμα προσομοίωσης με χρήση του οποίου να γίνει μία εκτίμηση του μέσου χρόνου απόκρισης για διάφορες τιμές των παραμέτρων του δίσκου. (1 μονάδα)
3. Διαδικαστικά Η άσκηση είναι προαιρετική και μετράει μόνο θετικά στην τελική βαθμολογία (έως και 5 μονάδες). Ο κάθε φοιτητής μπορεί να επιλέξει πόσα και ποια ερωτήματα επιθυμεί να λύσει, ανάλογα με τα ενδιαφέροντα και την κλίση του. Το simulation μπορεί να γίνει σε όποια γλώσσα επιθυμείτε, ωστόσο προτείνουμε για λόγους απλότητας υλοποίησης και ευκολίας εξαγωγής εποπτικών μέσων (γραφικές παραστάσεις ή ιστογράμματα κλπ) να προτιμήσετε την Matlab ή την Python. Επίσης, για όσους επιλέξουν να κάνουν simulation θα πρέπει να συντάξουν και μία απλή αναφορά που θα σχολιάζει σύντομα τα ευρήματα τους καθώς και τις επιλογές της υλοποίησής τους (χρήση κατανομών, μέτρηση στατιστικών μέσων κλπ) H παράδοση της εργαστηριακής άσκησης μπορεί να γίνει μέχρι το τέλος της εξεταστικής Φεβρουαρίου, ενώ η ισχύς της διαρκεί μέχρι και την εξεταστική Σεπτεμβρίου 2012. Ειδικά για τα ερωτήματα που αφορούν simulation (θέματα 2.2 και 3.2) η παράδοση τους μπορεί να γίνει μέχρι και τον Σεπτέμβριο 2012. Για οποιαδήποτε διευκρίνηση ή απορία σχετικά με την άσκηση μπορείτε να στέλνετε email στο nikolako@ceid.upatras.gr ή να έρχεστε στα ΠΡΟΚΑΤ στις ώρες γραφείου. Αναφορές [1] Randolph Nelson, Probability Stochastic Processes, and Queueing Theory. Springer- Verlag, 1995. [2] Leonard Kleinrock, Queueing Systems, Volume I: Theory. Wiley, 1975. Γιάννης Γαροφαλάκης, Καθηγητής Αθανάσιος Ν.Νικολακόπουλος, Υποψ. Διδάκτορας Ώρες γραφείου: Δευτέρα 15 : 00 17 : 00 ΠΡΟΚΑΤ, δίπλα στο γραφείο του κ.τσακαλίδη e-mail: nikolako@ceid.upatras.gr