Modlisation et Evaluation des Performances des Systmes Evnements

  • Slides: 19
Download presentation
Modélisation et Evaluation des Performances des Systèmes à Evénements Discrets Philippe Nain INRIA

Modélisation et Evaluation des Performances des Systèmes à Evénements Discrets Philippe Nain INRIA

Quelques dates 1917: Travaux Erlang Probabilité de débordement 1957: Réseaux à forme produit de

Quelques dates 1917: Travaux Erlang Probabilité de débordement 1957: Réseaux à forme produit de Jackson 1975 -76: Réseaux BCMP, Réseaux de Kelly Modélisation du réseau Arpanet (Kleinrock) Années 80: Logiciels dédiés (QNAP 2, PAW, etc. ). Evaluation de protocoles (Ethernet, FDDI, etc. ) Années 90: Bande passante équivalente Nature <<fractale>> du trafic IP Network calculus

Quelques dates (suite) l 2000 : Les années. . . TCP, TCP, TCP, TCP,

Quelques dates (suite) l 2000 : Les années. . . TCP, TCP, TCP, TCP, TCP, TCP, TCP, TCP, TCP, TCP, TCP, TCP, TCP, TCP, TCP, TCP, TCP

Modélisation de TCP Mode slow start : W <-- W + 1 à chaque

Modélisation de TCP Mode slow start : W <-- W + 1 à chaque ACK reçu W <-- W/2 si perte TD W <-- 1 si perte TO Mode congestion avoidance : W <-- W + 1/W à chaque ACK reçu W <-- W/2 si perte TD W <-- 1 si perte TO

Modélisation de TCP (suite) X(t) = Taille de la fenêtre de congestion à l

Modélisation de TCP (suite) X(t) = Taille de la fenêtre de congestion à l ’instant t X(t) Linear increase at rate X(n+1) X(n) Congestion detection Multiplicative decrease (by ) X(n+2) S(n) T(n) S(n+1) T(n+1) t

Modélisation de TCP (suite) X(n) = Taille de la fenêtre juste avant T(n) S(n)

Modélisation de TCP (suite) X(n) = Taille de la fenêtre juste avant T(n) S(n) = T(n+1) - T(n) ; = 1/E[S(n)] R(k) = Cov(S(n), S(n+k)) X(n+1) = X(n) + S(n) [Altman, Avratchenkov, Barakat --Sigcomm ’ 00]:

Modélisation de TCP (suite) Une autre façon de voir le même résultat: l p

Modélisation de TCP (suite) Une autre façon de voir le même résultat: l p = Probabilité de perte ( l RTT = Round-trip time ( ) )

Modélisation de TCP (suite) Pertes <<déterministes>> (S(n) 1/ ; = 0. 5 TCP Reno)

Modélisation de TCP (suite) Pertes <<déterministes>> (S(n) 1/ ; = 0. 5 TCP Reno) Pertes <<Poisson>> (P(S(n) < x) = 1 -exp(- x), = 0. 5)

Modélisation de TCP (suite) Autres approches possibles : Algèbre max-plus [Baccelli, Hong-- Sigcomm ’

Modélisation de TCP (suite) Autres approches possibles : Algèbre max-plus [Baccelli, Hong-- Sigcomm ’ 00] Modèle discret l Equation différentielle stochastique [Misra, Gong, Towsley -- Sigcomm ’ 01] Modèle fluide l Etc. l

Modélisation de TCP (suite) Extensions du modèle : l Timeouts l Borne sur la

Modélisation de TCP (suite) Extensions du modèle : l Timeouts l Borne sur la fenêtre d ’émission l Calcul des moments d ’ordre supérieur l Etc. Verrou : l Session TCP courte durée

Diffserv Architecture End host: - Negociates a profile with edge router Edge router: -

Diffserv Architecture End host: - Negociates a profile with edge router Edge router: - Per-flow traffic management - Marks packets as in-profile and out-profile Core router: - Per class traffic management - Buffering and scheduling based on marking at edge - Preference given to in-profile packets - Assured Forwarding r b marking scheduling . . .

Leaky-Bucket Marking at Edge l l Profile: Pre-negotiated rate A, bucket size B Packet

Leaky-Bucket Marking at Edge l l Profile: Pre-negotiated rate A, bucket size B Packet marking at edge based on per-flow profile Rate A B User packets

Assured Forwarding at Core Active queue management n l Maintains average queue length, x

Assured Forwarding at Core Active queue management n l Maintains average queue length, x Compute n n p 1: drop prob. of a green pkt p 2: drop prob. of a red pkt Drop prob l 1 p 2 p 1 Avg. queue length, x

TCP over AF Service Profile: A, B Marker Bottleneck core TCP Other flows l

TCP over AF Service Profile: A, B Marker Bottleneck core TCP Other flows l Questions: n n l Is it possible to provide a TCP flow a fixed (minimum) rate through proper choice of parameters (A, B) Is it possible to provide service differentiation across a set of TCP flows? Determine “achieved throughput” r [Sahu, Nain, Towsley, Firiou, Diot -- Sigmetrics’ 00]

Our Approach: Simple Loss Model Non-overlapping loss model n n l Derive n l

Our Approach: Simple Loss Model Non-overlapping loss model n n l Derive n l if p 2 < 1 p 1 = 0; undersubscribed case if p 1 > 0 p 2 = 1; oversubscribed case Drop probability l “achieved rate” for each case separately Conjecture n overlapping loss model reduces to one or the other 1 p 2 p 1 Avg. queue length x

TCP Throughput: A Simple Deterministic Model l Define assured window size, Wa: W(t) Wa

TCP Throughput: A Simple Deterministic Model l Define assured window size, Wa: W(t) Wa = A x T, where T is a constant Tokens round trip time 2 W accumulate W, avg. window size at the begin of a cycle 2 W, avg. window size just prior to a Wa loss event Marked green W Under-subscribed case: p 1=0, p 2<1 • Avg. number of red packets prior to first loss: 1/p 2 • Equate • Achieved rate, r = 3 W/ 2 T Time t

TCP Throughput: A Simple Deterministic Model (cont’) Over-subscribed case: p 1>0, p 2=1 Red

TCP Throughput: A Simple Deterministic Model (cont’) Over-subscribed case: p 1>0, p 2=1 Red packet loss: W(t) 2 W marked green Wa W Green packet loss: tokens accumulate Time t • Avg. number of green packets prior to first loss: 1/p 1 • Equate • Sending rate is

Simulation/Experiments To validate analytical model l Ns-2 simulation l Testbed implementation n l implemented

Simulation/Experiments To validate analytical model l Ns-2 simulation l Testbed implementation n l implemented various packet marking and multi-RED on Linux 2. 2. 10 kernel Model validation n n round-trip time 100~400 ms wide range of loss rates w Bernoulli loss model w buffer overflow n large number of TCP flows Sprint ATL Testbed Configuration

Sample Validation Results Under-subscription case A = 100 kb/s, B=20, T=100 ms Over-subscription case

Sample Validation Results Under-subscription case A = 100 kb/s, B=20, T=100 ms Over-subscription case A=1000 kb/s, B=64, T=100 ms