ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ 5/07/06 Παραδείγματα Ανάλυσης Ουρών Markov και Μοντελοποίησης Συστημάτων
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Η ουρά Μ/Μ/1 (άπειρου μεγέθους) Σταθεροί μέσοι ρυθμοί αφίξεων (γεννήσεων) λ n = λ, Poisson Σταθεροί μέσοι ρυθμοί εξυπηρέτησης (θανάτων) μ n = μ Εκθετικοί χρόνοι εξυπηρέτησης s, E(s) = 1/μ Εργοδικές πιθανότητες καταστάσεων P n Μέσος όρος πληθυσμού - κατάστασης Ε(n) P n = (1-ρ) ρ n, n = 0,1,2,…, ρ = λ/μ < 1 E(n) = ρ/(1-ρ) Νόμος του Little: E(T) = E(n)/γ = E(n)/λ E(T) = (1/μ) / (1-ρ)
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Συστήματα Μ/Μ/1 με ρυθμούς άφιξης και ρυθμούς εξυπηρέτησης εξαρτώμενους από τον αριθμό των πελατών στο σύστημα (από την κατάσταση του συστήματος) (State Dependent M/M/1 Queues) λ(n) μ(n) λ(0)λ(1)λ(n-1) μ(1) μ(2) λ(n) μ(n) μ(n+1) 0 12 n-1 n n+1
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Παράδειγμα Ανάλυσης Ουρών Markov: M/M/1/K (ουρά με μέγιστη χωρητικότητα Κ, συμπεριλαμβανομένου του εξυπηρετουμένου) Πιθανότητα απώλειας, P{blocking} P bl = P Κ = P ο ρ Κ, P 0 = (1-ρ)/(1-ρ Κ+1 ) Ρυθμαπόδοση (Throughput) γ = λ (1- P Κ ) Μέση Καθυστέρηση Ε(Τ) = Ε(n)/γ
Παράδειγμα ανάλυσης ουράς Markov με m εξυπηρετητές M/M/m [Erlang –C] Infinite buffer Finite # of servers (m) Prob. All servers are busy
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Άλλα Παραδείγματα Ουρών Markov –Μ/Μ/Ν/Κ (Ν εξυπηρετητές, χωρητικότητα Κ, N ≤ K) P n = [λ/(nμ)] P n-1, n=1, 2, …, N-1 P n = [λ/(Nμ)] P n-1, n=N, N+1, …, K P 0 + P 1 +…+ P K-1 + P K = 1
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ –M/M/m/m (m εξυπηρετητές, χωρητικότητα m) Erlang – B Μοντέλο τηλεφωνικού κέντρου με μέσο ρυθμό κλήσεων λ (Poisson), εκθετική διάρκεια τηλεφωνήματος, μέσος χρόνος 1/μ, m γραμμές και απώλειες χωρίς επανάκληση (redial) ρ = λ/μ (Erlangs) P bl = P m = (ρ m /m!) / (1 + ρ + ρ 2 /2+ ρ 3 /3! ρ m /m!)
Ρυθμός άφιξης και εξυπηρέτησης πρέπει να είναι σε ίδιες μονάδες (π.χ. calls/second, bits/second, calls/minute etc.) Παρ1: =50calls/minute =1call/second =50calls/60sec=0.833call/sec Παρ2: =5packets/sec μήκος πακέτου=1000bits ρυθμός εξυπηρ. =10000bits/sec OR Παράμετροι αφίξεων και εξυπηρέτησης
Παράδειγμα 1: Εξισώσεις ισορροπίας και διάγράμματα καταστάσεων Μηνύματα παραδίδονται σε ένα σύστημα αναμονής που αποτελείται από δύο εξυπηρετητές και κοινό χώρο αναμονής. Η διαδικασία άφιξης των μηνυμάτων είναι Poisson (λ=1 πελάτες/sec) και οι χρόνοι εξυπηρέτησης μηνυμάτων είναι εκθετικά κατανεμημένοι. Για τον πρώτο εξυπηρετητή ο ρυθμός εξυπηρέτησης είναι: μα=1 πελάτες/sec και για το δεύτερο είναι: είναι: μb=1 πελάτες/sec. Κάθε καινούριο μήνυμα εξυπηρετείται πάντα από τον πρώτο εξυπηρετητή, αν αυτός είναι ελεύθερος. Αν ο πρώτος εξυπηρετητής είναι απασχολημένος τότε το μήνυμα εξυπηρετείται από τον δεύτερο εξυπηρετητή. Αν και οι δύο εξυπηρετητές είναι απασχολημένοι το μήνυμα αποθηκεύεται στην ουρά. Βρείτε τις εργοδικές πιθανότητες καταστάσεως και τους βαθμούς χρησιμοποίησης των δύο εξυπηρετητών
Να βρεθεί αναδρομικός αλγόριθμος (τύπος) για τον υπολογισμό της πιθανότητας εκχυλισμού (Blocking Probability) σε σύστημα M/M/m/m (Erlang-B) Παράδειγμα 2: Blocking Probability – Erlang-B
Μια τηλεφωνική εταιρεία εγκαθιστά σύνδεση μεταξύ δύο πόλεων όπου η αναμενόμενη κίνηση ακολουθεί κατανομή Poisson με ρυθμό 30 calls/min. Η διάρκεια των κλήσεων είναι ανεξάρτητες εκθετικά κατανεμημένες τυχαίες μεταβλητές με μέση τιμή 3 minutes. Πόσα κυκλώματα θα πρέπει να παρέχει η εταιρεία ώστε να εγγυηθεί ότι η πιθανότητα απόρριψης κλήσης (blocking) (επειδή όλα τα κυκλώματα είναι κατειλημμένα) είναι μικρότερη του 1% Παράδειγμα 3: Μοντελοποίηση
Θεωρούμε ένα σύστημα M/M/m/m όπου m είναι ο αριθμός κυκλωμάτων (γραμμών) που παρέχει η εταιρεία. Πρέπει να βρούμε τον μικρότερο αριθμό m για τον οποίο p m <0.01 where p m is given Έχουμε =30 and =1/3, so / =30 3=90. Με αντικατάσταση στην παραπάνω σχέση υπολογίζουμε την τιμή του m. Λύση
Ένας δρομολογητής πακέτων μπορεί να επεξεργάζεται πακέτα με μέσο ρυθμό 300packets per hour. Τα πακέτα καταφθάνουν στον δρομολογητή κατά μέσο όρο 200 per hour. Ας μοντελοποιήσουμε το σύστημα σαν M/M/1 (Single server): # πακέτων στο σύστημα # πακέτων σε αναμονή Μέσος χρόνος πακέτου στο σύστημα Μέσος χρόνος αναμονής (στην ουρά) = / =2/3 (Πιθανότητα να είναι ο εξυπηρετητής απασχολημένος) P 0 =1- =0.333 (Prob. That there are 0 packet in this system) Παράδειγμα 4 – Μέρος A – Αξιολόγηση Επίδοσης
Για να βελτιώσουμε την απόδοση του συστήματος έχουμε δύο επιλογές: a)Να εγκαταστήσουμε ένα γρηγορότερο επεξεργαστή (αντικαθιστώντας τον παλαιό) b)Να εγκαταστήσουμε και έναν δεύτερο εξυπηρετητή Παράδειγμα 4 – Τμήμα B – Μοντελοποίηση και Αξιολόγηση Επίδοσης
Επιλογή a) Αντικατάσταση του υπάρχοντος εξυπηρετητή με άλλον γρηγορότερο με ρυθμό =400packets/second Επαναπροσδιορισμός της απόδοσης του συστήματος: N=1; N Q =0.5; T=18 seconds; w=9 seconds Επιλογή b) Έχουμε ένα σύστημα με δύο εξυπηρετητές. Η άφιξη των πακέτων γίνεται σε μία ουρά (buffer) με ρυθμό =200packets/second και μετά πηγαίνουν για εξυπηρέτηση στον πρώτο εξυπηρετητή που είναι ελεύθερος. Το σύστημα αυτό το μοντελοποιούμε σαν: M/M/2 Λύση για το Τμήμα B
Για κάθε ένα από τα δύο ακόλουθα συστήματα υπολογίστε το χρόνο ενός πακέτου στο σύστημα. Συγκρίνετε και επιλέξτε το καλύτερο. Παράδειγμα 5: Μοντελοποίηση και Σύγκριση
Παράδειγμα 6: Μοντελοποίηση και Σύγκριση Δύο υπολογιστές επικοινωνούν με μια 64 k-bits/second γραμμή και υποστηρίζει 8 συνόδους (sessions). Αν το μέσο μήκος πακέτου είναι 150 bytes, ο ρυθμός άφιξης ανά σύνοδο (arrival rate/session) είναι 4 packets/second και ακολουθεί Poisson κατανομή, και ο χρόνος εξυπηρέτησης πακέτου είναι εκθετικά κατανεμημένος: είναι καλύτερα το δίκτυο να παρέχει σε κάθε σύνοδο το δικό της (αποκλειστική πρόσβαση) dedicated 8 kbits/sec κανάλι, ή είναι προτιμότερο όλες οι σύνοδοι να μοιράζονται όλη τη χωρητικότητα της γραμμής? Θεωρήστε ότι ο χρόνος καθυστέρησης του πακέτου είναι το πιο σημαντικό κριτήριο.
Λύση Ας θεωρήσουμε πρώτα το δίκτυο να παρέχει σε κάθε σύνοδο το δικό της (αποκλειστική πρόσβαση) dedicated 8 kbits/sec κανάλι. Τότε κάθε υποσύστημα μπορεί να μοντελοποιηθεί σαν ένα ξεχωριστό M/M/1 σύστημα με =4 packets/sec και ρυθμό εξυπηρέτησης 8 kbits/sec ή ισοδύναμα Θεωρώντας την περίπτωση όπου οι σύνοδοι μοιράζονται όλη τη χωρητικότητα της γραμμής τότε συγχωνεύουμε όλες τις συνόδους και μοντελοποιούμε το σύστημα σαν M/M/1 σύστημα: με =8*4=32 packets/second και ρυθμό εξυπηρέτησης 64 kbits/sec ή ισοδύναμα Προτιμότερη είναι η δεύτερη λύση αφού μειώνει την καθυστέρηση σημαντικά
Παράδειγμα 7: Πιθανότητες και εξισώσεις καταστάσεων ισορροπίας 10 τερματικά τροφοδοτούν κοινό στατιστικό πολυπλέκτη που εξυπηρετεί δεδομένα σε πακέτα των 1000 bits κατά μέσο όρο. Η έξοδος του πολυπλέκτη είναι γραμμή των 10 kb/sec. Τα τερματικά θεωρούνται ανεξάρτητα και ισότιμα. A) Προσεγγίστε τον πολυπλέκτη σαν ουρά Μ/Μ/1. Βρείτε το μέσο όρο ροής των δεδομένων ανά τερματικό ώστε η γραμμή να έχει χρησιμοποίηση 50%. Β) Αν ο πολυπλέκτης δεν δύναται να αποθηκεύει πάνω από 3 πακέτα (μαζί με το πακέτο υπό εξυπηρέτηση) και ο μέσος ρυθμός ροής πακέτων ανά τερματικό είναι 0.5 packets/sec, βρείτε τα χαρακτηριστικά της ουράς. Υποθέστε Poisson διαδικασία άφιξης πακέτων και εκθετικά κατανεμημένους χρόνους εξυπηρέτησης πακέτων.
Λύση – Τμήμα Α Χρησιμοποιείται μοντέλο Μ/Μ/1 Η ροή πακέτων ανά τερματικό είναι λ. Ζητούμενο: λ=? pak/sec, Ο ρυθμός εξυπηρέτησης είναι: μ=(10000bits/sec)/(1000bits/pkt) = 10pak/sec Η αθροιστική ροή πακέτων (από όλα τα τερματικά) στον πολυπλέκτη είναι: 10λ. Ο βαθμός χρησιμοποίησης είναι: u=(10λ)/μ=0.5 (10λ)/10=0.5 λ=0.5 packets/sec 10λ μ μ μ μ 0 12 n-1 n n+1
Λύση – Τμήμα Β 10λ μ μ μ Χρησιμοποιείται μοντέλο Μ/Μ/1/3 λ=0.5 pak/sec, μ=10 pak/sec 10λP 0 =μP 1 P 1 =(10λ/μ)P 0 P 1 =0.5P0 10λP 1 =μP 2 P 2 =(10λ/μ)P 0 2 P 2 =0.25P0 10λP 2 =μP 3 P 3 =(10λ/μ)P 0 3 P 3 =0.125P0 P 0 +P 1 +P 2 +P 3 =1 P 0 =8/15, P 1 =4/15, P 2 =2/15, P 3 =1/15 Ρυθμοαπόδοση: γ=10λ(1-P bl )=5*(14/15)=14/3 (γ=μ(1-P 0 )) Μέσο μήκος ουράς: E(n)=0*(8/15)+1*(4/15)+2*(2/15)+3*(1/15)=11/15 Πιθανότητα απωλειών: P bl =P 3 =1/15 Μέση Καθυστέρηση: E(τ)=E(n)/γ=(11/15)/(14/3)=11/70