ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Τοµέας Επικοινωνιών, Ηεκτρονικής & Συστηµάτων Πηροφορικής Εργαστήριο ιαχείρισης & Βετίστου Σχεδιασµού ικτύων - NETMODE Πουτεχνειούποη Ζωγράφου, 157 80 Αθήνα, Τη: 210.772.1448, Fax: 210.772.1452 e-mail: maglaris@mail.ntua.gr, URL http://www.netmode.ece.ntua.gr ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Ι ΑΣΚΩΝ ΚΑΘ. Β.ΜΑΓΚΛΑΡΗΣ
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ ΟΥΡΑ ΑΝΑΜΟΝΗΣ - 1 Εξυπηρετητής n(t) γ (sec -1 ) (sec -1 ) E(s)=1/µ sec : Ρυθµός Εισόδου (πεάτες/sec) Ε(s) = 1/µ sec : Χρόνος Εξυπηρέτησης Πεάτη (sec/πεάτη) µ = 1/ Ε(s) sec -1 : Ρυθµός Εξυπηρέτησης Πεάτη γ : Ρυθµαπόδοση (πεάτες/sec) - throughput Για σταθερή ουρά : γ < µ Χρησιµοποίηση εξυπηρετητή (server utilization) u = (γ / µ) < 1 Για σταθερή ουρά χωρίς απώειες γ = πεάτες/sec u = γ / µ = / µ = Ε(s) = ρ (Erlangs)_ Ενταση κινήσεως (TrafficIntensity) n(t) : Κατάσταση Ουράς ( Αριθµός Πεατών στο σύστηµα) n (t) A 3 D 1 A 4 D 2 A 2 D 3 A 6 D 5 A 1 D 4 A 5 D 6 t 1
Χρόνος µεταξύ αφίξεων A 1 - A 2 A 2 - A 3 A 3 - A 4 A 4 - A 5 A 5 - A 6 α 1 α 2 α 3 α 4 α 5 = 1 / Ε(α i ) sec -1 Χρόνος µεταξύ αναχωρήσεων D 1 - D 2 D 2 - D 3 D 3 - D 4 D 4 - D 5 D 5 - D 6 d 1 d 2 d 3 d 4 d 5 γ = 1 / Ε(d i ) sec -1 Χρόνος Εξυπηρέτησης Α 1 - D 1 D 1 - D 2 D 2 - D 3 D 3 - D 4 A 5 - D 5 D 5 - D 6 s 1 s 2 s 3 s 4 s 5 s 6 µ = 1 / Ε(s i ) sec -1 Χρόνος Καθυστέρησης Α 1 - D 1 Α 2 - D 2 Α 3 - D 3 Α 4 - D 4 A 5 - D 5 Α 6 - D 6 Τ 1 Τ 2 Τ 3 Τ 4 Τ 5 Τ 6 Ε(T i ) 2
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ # 2 ΕΞΙΣΩΣΕΙΣ ΙΣΟΡΡΟΠΙΑΣ ΟΥΡΩΝ MARKOV ( M/M/1) n (t) T 2 1 T 2 2 T 2 3 T 2 4 T 2 5 T 2 6 T 2 7 T 3 1 T 3 2 T Μέσος αριθµός αφίξεων στο διάστηµα Τ : Τ Τ = # Αφίξεις, Τ Μέσος αριθµός αφίξεων στο διάστηµα Τ 2 : Τ 2 Τ 2 = Τ 2 1 + Τ 2 2 + Τ 2 3 + Τ 2 4 + Τ 2 5 + Τ 2 6 + Τ 2 7 Μέσος αριθµός εξυπηρετήσεων στο διάστηµα Τ 3 : µτ 3 Τ 3 = Τ 3 1 + Τ 3 2 Τ :# Αφίξεων στην κατάσταση (2) Τ 2 # Εξυπηρετήσεων από κατάσταση (3) µ Τ 3 Ισορροπία : Τ 2 = µ Τ 3 ή Τ 2 /Τ = µ Τ 3 /Τ ή Ρ 2 = µ Ρ 3 3
0 1 2 3 4 µ µ µ µ Τ 2 µ Τ 3 Γενικά : Ρ 0 = µ Ρ 1. P 0 + P 1 +... = 1 Ρ n = µ Ρ n+1.. P 1 = ρ P 0, P 2 = ρ 2 P 0, P 3 = ρ 3 P 0,... P 0 (1+ρ+ρ 2 +... ) = 1, ρ < 1 1 P 0 = 1 / (1+ρ+ρ 2 +...) = = 1-ρ, ρ < 1 1/(1-ρ) P n = ( 1- ρ) ρ n E(n) = np n = ρ /(1-ρ) n Τύπος Little : Ε(Τ) = Ε(n) / = (1/µ)/(1-ρ) E(n q ) = E(n) - E(n s ) = (ρ / (1-ρ)) - ρ = ρ 2 / (1-ρ) E(w) = (ρ/µ)/ (1-ρ) 4
ΠΡΟΣΟΜΟΙΩΣΤΕ ΟΥΡΑ Μ/Μ/1/10 µε µ = 1 και α. = 0.3 β. = 0.5 γ. = 0.8 ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ ΑΣΚΗΣΗ ΣΥΓΚΕΚΡΙΜΕΝΑ : Υποογίστε τις εργοδικές Πιθανότητες Pn, n = 0,..., 10 και το µέσο µήκος 10 ουράς E(n) = Σ n Pn για διαδοχικές τιµές του COUNT ανά 1000 (0-1000, 0- n=1 2000, 0-3000,...) Σταµατήστε το πρόγραµµα όταν E(n) - E (n) <= 0,0001,( E(n), E (n) τιµές διαδοχικών διαστηµάτων) ή όταν ο συνοικός αριθµός COUNT υπερβεί τις 100.000. ώστε γραφικές παραστάσεις των E(n) για τα διαστήµατα 1000, 2000, 3000,...(από 0-1000, 0-2000, 0-3000, 0-4000,... ΠΡΟΣΟΜΟΙΩΣΗ ΟΥΡΑΣ Μ/Μ/1 - MARKOV { # αφίξεων στη κατάσταση n }/ Pn =lim (Tn/T) = T { # αφίξεων}/ # αφίξεων στη κατάσταση n Pn =lim T # αφίξεων RANDOM : Οµοιόµορφος τυχαίος αριθµός (0,1) ARRIVALS : Αριθµός Αφίξεων ARRIVAL[n] : Αριθµός Αφίξεων στην κατάσταση n COUNT : Αριθµός µεταβάσεων STATE : Κατάσταση ουράς P[n] : Πιθανότητα κατάστασης n COUNT = 0, STATE = 0, ARRIVALS = 0 ARRIVAL : ARRIVALS = ARRIVALS + 1 ARRIVAL[STATE] = ARRIVAL[STATE] + 1 COUNT = COUNT + 1 STATE = STATE + 1 5
LOOP : IF STATE = 0 : GO TO ARRIVAL ELSE IF RANDOM < / (+µ) : GO TO ARRIVAL ELSE GO TO DEPARTURE DEPARTURE : COUNT = COUNT + 1 ; STATE = STATE - 1 IF COUNT < MAXIMUM : GO TO LOOP ELSE P[STATE] = ARRIVAL[STATE]/ ARRIVALS 6
ΠΑΡΑ ΕΙΓΜΑ 1 - ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Σε σύστηµα αναµονής µε 2 εξυπηρετητές, αφίξεις στη κατάσταση { } δροµοογούνται πάντα στον εξυπηρετητή α. Με αφίξεις Poisson, ρυθµού = 1 πεάτες/sec και εκθετικές εξυπηρετήσεις µ α =µ b =1πεάτες/sec ζητούνται οι εργοδικές πιθανότητες καταστάσεως και οι βαθµοί εξυπηρέτησης των εξυπηρετητών u α, u β. µ α µ β 1a µ α µ β 0 2 3 4 µ β 1b µ α + µ β µ α µ α + µ β Η κατάσταση {1α} περιγράφει την περίπτωση ενός πεάτη στον εξυπηρετητή (α) και αντίστοιχα η {1b}. ΛΥΣΗ 1a µ α µ β 0 2 3 4 µ β 1b µ α 2 µ 2 µ 7
Ρ 0 = µ α Ρ 1α + µ b P 1b ( + µ α ) Ρ 1α = Ρ 0 + µ b P 2 (µ α + µ b ) P 2 = Ρ 1α + Ρ 1b 2µ Ρ n = P n-1 P n = (/2µ) n-2 P 2, n 3 = 1, µ α = µ b = µ = 1 Ρ 1α = (3/4) Ρ 0 Ρ 1b = (1/4) Ρ 0 P n = (1/2) n-1 P 0, n 2 1 = P 0 + P 1α + P 1b + Σ P n n=2 = P 0 ( 1 + 3/4 + 1/4 + Σ(1/2) n-1 ) n=2 = 3 P 0 P 0 = 1/3, P 1α = 1/4, P 1b = 1/12, P n = 1/3(1/2) n-1, n 2 u α = 1 - P 0 - P 1b 7/12 0,583 u b = 1 - P 0 - P 1α = 5/12 0.4167 8
ΠΑΡΑ ΕΙΓΜΑ 2 - ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Να βρεθεί αναδροµικός (recursive) αγόριθµος για τον υποογισµό της πιθανότητας Erlang-B, E(k,l) = Ρ(κ) (πιθανότητα εκχυισµού, blocking probability). ρ κ /κ! Ε(κ, ρ) = κ Σ ρ n /n! n=0 (ρ/κ) ρ κ-1 /(κ-1)! = k-1 Σ ρ n /n! + ρ κ /κ! n=0 ρ κ-1 /(κ-1)! (ρ/κ) k-1 Σ ρ n /n! n=0 = ρ κ /κ! 1 + k-1 Σ ρ n /n! n=0 ρ/κ Ε(κ-1, ρ) =, κ 1 1 + ρ/κ Ε(κ-1, ρ) ρ Ε(κ-1, ρ) Ε(κ, ρ) =, κ 1 κ + ρ Ε(κ-1, ρ) Ε(0, ρ) = 1 9
ΠΑΡΑ ΕΙΓΜΑ 3 - ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ 10 τερµατικά τροφοδοτούν κοινό στατιστικό πουπέκτη (STAT.MUX) που πακετοποιεί τα δεδοµένα σε πακέτα (πεάτες) των 1000 bits κατά µέσο όρο. Η έξοδος του STAT.MUX είναι γραµµή των 10 Kb/sec. Τα τερµατικά θεωρούνται ανεξάρτητα και ισότιµα. Ο STATMUX προσεγγίζεται σαν ουρά Μ/Μ/1. α. Βρείτε τον µέσο όρο ροής δεδοµένων ανά τερµατικό ώστε η γραµµή να έχει χρησιµοποίηση 50%. Η ροή πακέτων ανά τερµατικό είναι. Ο ρυθµός εξυπηρέτησης µ ανά πακέτο µ = (1000bits/sec) / (1000bits/packet) ή µ=10packets/sec. Αρα n = 10 / µ = 10 / 10 = 50% = 0.5 packets/sec. β. Αν ο STATMUX δεν δύναται να αποθηκεύσει πάνω από 3 πακέτα (µαζί µε το πακέτο υπό εξυπηρέτηση στη γραµµή των 10Kb/sec), και ο αριθµός ανά τερµατικό είναι 0.5 packets/sec, βρείτε τα χαρακτηριστικά της ουράς. Χρησιµοποιείται το µοντέο Μ/Μ/1/3 10 10 10 0 1 2 3 µ µ µ = 0.5 p/sec, µ = 10p/sec Ρ 3 = (10/µ) 3 Ρ 0 = 0.125 Ρ 0 Ρ 2 = (10/µ) 2 Ρ 0 = 0.25 Ρ 0 Ρ 1 = (10/µ) Ρ 0 = 0.5 Ρ 0 Ρ 0 + Ρ 1 + Ρ 2 + Ρ 3 = 1 Ρ 0 = 8/15 Ρ 1 = 4/15 Ρ 2 = 2/15 Ρ 3 = 1/15 Μέσο µήκος ουράς Ε(n) = 0 8/15 + 1 4/15 + 2 2/15 + 3 1/15 = 11/15 Ποσοστό απωειών Ρ Β = Ρ 3 = 1/15 10
Ρυθµαπόδοση γ = 10(1-Ρ B ) = 5 14/15 = 14/3 Καθυστέρηση Ε(τ) = Ε(n)/γ = (11/15) /(!4/3) = 11/70 0.157 sec 11
ΠΑΡΑ ΕΙΓΜΑ 4 - ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Θεωρείστε το δίκτυο µεταγωγής πακέτου (packet switching) Β Α C D Οι γραµµές είναι FDX 10 Kb/sec. Μεταξύ κόµβων(µεταγωγέων) θεωρείστε προσφερόµενους ρυθµούς πακέτων Poisson, µε ίσους ρυθµούς r packets/sec (από άκρο σε άκρο). Η µέση διάρκεια πακέτου (εκθετική) είναι 1000bits. Πακέτα από το Α στο C και αντίστροφα δροµοογούνται εξ ίσου στους δύο ισότιµους δρόµους (Α-Β-C) (A-D-C). Τα πακέτα µεταξύ κόµβων κατ ευθείαν συνδεµάνων (A-B), (A-D), (B-D), (B-C), (D-C), δροµοογούνται κατ ευθείαν. α. Βρείτε τον ρυθµό r ώστε η γραµµή συµφορήσεως (µε την µέγιστη χρησιµοποίηση) να είναι 50%. r ij = r packets/sec, i,j {A, B, C, D} Σύνοο προσφερόµενου φορτίπυ γ = 4 3 r = 12 r packets/sec Για τις γραµµές BD, DB : BD = DB = r (κατ ευθείαν) Για τις υπόοιπες γραµµές : ij = r + 0.5 r = 1.5 r, i,j B, D 10000 Kbits/sec µ = = 10 packets/sec 1000 bits/packet u BD = u DB = r / µ = 0.1 r u ij = ij / µ = 1.5 r / 10 = 0.15 r, i,j Β, D. Οι γραµµές συµφορήσεως έχουν : u ij = 0.15 r 0.15 r = 0.5 r = 10/3 p/sec γ = 40 p/sec. β. Για τον ρυθµό r = 10/3, βρείτε τη µέση καθυστέρηση ενός τυχαίου πακέτου στο δίκτυο ( από άκρο σε άκρο): 12
E(n BD ) = E(n DB ) = 0.1 r / (1-0.1r) = 0.5 E(n ij ) = u ij / (1- u ij ) = (0.15 10/3) / (1-0.15 10/3) = 1 Γενικός µέσος όρος πακέτων στο δίκτυο : E(n) = E(n AB ) + E(n BA ) + E(n AD ) + E(n DA ) + E(n BC ) + E(n CB ) + E(n CD ) + E(n DC ) + E(n BD ) + E(n DB ) = 8 1 + 0.5 2 = 9 Μέση καθυστέρηση : Ε(τ) = E(n) / γ = 9/40 sec. 13