An axiomatic fluid-flow model for congestion control analysis - - PowerPoint PPT Presentation

an axiomatic fluid flow model for congestion control
SMART_READER_LITE
LIVE PREVIEW

An axiomatic fluid-flow model for congestion control analysis - - PowerPoint PPT Presentation

Introduction Modeling networks Building Blocks Examples Conclusion An axiomatic fluid-flow model for congestion control analysis Corentin Briat H. Hjalmarsson, K.H. Johansson, U.T. Jnsson, G. Karlsson, H. Sandberg and E.A. Yavuz KTH,


slide-1
SLIDE 1

Introduction Modeling networks Building Blocks Examples Conclusion

An axiomatic fluid-flow model for congestion control analysis

Corentin Briat

  • H. Hjalmarsson, K.H. Johansson, U.T. Jönsson, G. Karlsson, H. Sandberg and

E.A. Yavuz KTH, Stockholm, Sweden December 13th 2011 CDC 2011, Orlando, USA

  • C. Briat [KTH /

] 1/33

slide-2
SLIDE 2

Introduction Modeling networks Building Blocks Examples Conclusion

Outline

◮ Introduction ◮ Modeling networks ◮ Building blocks ◮ Simulations ◮ Conclusion and Future Works

  • C. Briat [KTH /

] 2/33

slide-3
SLIDE 3

Introduction Modeling networks Building Blocks Examples Conclusion

Introduction

  • C. Briat [KTH /

] 3/33

slide-4
SLIDE 4

Introduction Modeling networks Building Blocks Examples Conclusion

Communication principle in networks

Network Elements

◮ Buffers/Servers/Routers (queuing delays, loss) ◮ Transmission channels (delays, limited capacity) ◮ Users (senders, receivers)

Transmission principle

◮ Information split into packets ◮ User A sends packets destined to User B ◮ Packets routed through the network ◮ User B receives packets and acknowledges them (ACK packet) ◮ User A receives ACK packets → transmission successful

  • C. Briat [KTH /

] 4/33

slide-5
SLIDE 5

Introduction Modeling networks Building Blocks Examples Conclusion

The congestion problem in networks

Reason

◮ Network infrastructure ’small’

Consequence: QoS deterioration

◮ Presence of bottlenecks ◮ Large delays ◮ Data loss

Congestion control ?

  • C. Briat [KTH /

] 5/33

slide-6
SLIDE 6

Introduction Modeling networks Building Blocks Examples Conclusion

Congestion control mechanisms

Concepts and variables

◮ Flight-size: controlled variable ◮ Congestion window: reference ◮ Congestion measure: measurement

Congestion measures

◮ Data loss: simple but aggressive ◮ Delay: complex but preventive

Objectives

◮ Stability ◮ Performance criteria

  • C. Briat [KTH /

] 6/33

slide-7
SLIDE 7

Introduction Modeling networks Building Blocks Examples Conclusion

Modeling networks

  • C. Briat [KTH /

] 7/33

slide-8
SLIDE 8

Introduction Modeling networks Building Blocks Examples Conclusion

Modeling Networks: Communication Network (1)

Small star topology

  • C. Briat [KTH /

] 8/33

slide-9
SLIDE 9

Introduction Modeling networks Building Blocks Examples Conclusion

Modeling Networks: Communication Network (2)

Internet

  • C. Briat [KTH /

] 9/33

slide-10
SLIDE 10

Introduction Modeling networks Building Blocks Examples Conclusion

Model must scale !

  • C. Briat [KTH /

] 10/33

slide-11
SLIDE 11

Introduction Modeling networks Building Blocks Examples Conclusion

Why the model for electrical circuits so successful ?

  • 1. Only two universal concepts: current and voltage (Kirchhoff’s laws)
  • 2. Local description of the elements (modularity)
  • 3. Easy transcription of the electrical network into a topologically identical

diagram/model, and vice-versa.

  • 4. New models corresponding to new devices may be freely added without

compromising existing ones.

  • 5. Model prediction fits very well the reality
  • 6. Systematic way of analysis by hand calculations or simulators.

Similar properties are desired for congestion control modeling

  • C. Briat [KTH /

] 11/33

slide-12
SLIDE 12

Introduction Modeling networks Building Blocks Examples Conclusion

Building Blocks

  • C. Briat [KTH /

] 12/33

slide-13
SLIDE 13

Introduction Modeling networks Building Blocks Examples Conclusion

Fluid-flow models

The last ingredient. . .

◮ Flight-size: controlled variable ◮ Congestion window: reference ◮ Congestion measure: measurement ◮ Flow: control input

Flow definition

◮ Quantity of information: N [bit] ◮ Flow: φ [bit/s] ◮ Quantity of information having passed through point x between t0 and t:

Nx(t0, t) := t

t0

φ(x, s)ds

  • C. Briat [KTH /

] 13/33

slide-14
SLIDE 14

Introduction Modeling networks Building Blocks Examples Conclusion

Modeling procedure

Core idea

◮ Information conservation law (Axiom 1)

Independent models

◮ Transmission channels ◮ Buffers/Queues ◮ Users

Properties of the model

◮ Obtained model is explicit, modular and scalable ◮ Similar to electrical networks

  • C. Briat [KTH /

] 14/33

slide-15
SLIDE 15

Introduction Modeling networks Building Blocks Examples Conclusion

Information conservation law (Axiom 1)

Observations

◮ If a packet is in transit in a network element, it must have entered it in the past. ◮ We can count the number of packets PE(t) in an element E at time t simply by

counting the entering packets during a certain amount of time. Conservation law statement There exists t0(t) ≤ t such that the following equality holds: PE(t) = t

t0(t)

φ(s)ds.

  • C. Briat [KTH /

] 15/33

slide-16
SLIDE 16

Introduction Modeling networks Building Blocks Examples Conclusion

Information conservation law - Example

Balance equation P ′

E(t)

= φ(t)

  • input

− φo(t)

  • utput

= φ(t) − t0(t)′φ(t0(t)) Output flow model The output flow of element E, φo(t), is given by φo(t) := t0(t)′φ(t0(t)).

  • C. Briat [KTH /

] 16/33

slide-17
SLIDE 17

Introduction Modeling networks Building Blocks Examples Conclusion

Transmission Channel model

Assumptions

◮ Lossless ◮ Constant propagation delay T > 0

Quantity of information PE(t) = t

t−T

φ(s)ds I/O Relationship and output flow P ′

E(t)

= φ(t) − φ(t − T) φo(t) = φ(t − T)

  • C. Briat [KTH /

] 17/33

slide-18
SLIDE 18

Introduction Modeling networks Building Blocks Examples Conclusion

Basic queue model (Axiom 2)

˙ τ(t) = 1 c  

j

φj(t) − r(t)   r(t) =    c if C(t)

  • j

φj(t)

  • therwise

Buffer model

◮ Flow integrator ◮ Hybrid system

Model inaccuracies

◮ Aggregate output flows r(t) ! ◮ How to connect buffers to other buffers ? ◮ Does this model describe a FIFO queue ?

  • C. Briat [KTH /

] 18/33

slide-19
SLIDE 19

Introduction Modeling networks Building Blocks Examples Conclusion

FIFO Buffer Model - Output flow separation (1)

Difficulties

◮ Integration destroys the information ◮ Indistinguishability of the output flows due to aggregation

Solution

◮ Apply the conservation law ’around’ the buffer

PE(t) = cτ(t) = t

g(t)

φ(s)ds (1) where g(t) = t − τ(g(t)).

  • C. Briat [KTH /

] 19/33

slide-20
SLIDE 20

Introduction Modeling networks Building Blocks Examples Conclusion

Internal FIFO Model - Output flow separation (2)

FIFO buffer model ˙ τ(t) = 1 c

  • j

[φj(t) − rj(t)] rj(t) =    φj(g(t))c

  • k φk(t)

if C(t) φj(t)

  • therwise

g(t) = t − τ(g(t))

  • C. Briat [KTH /

] 20/33

slide-21
SLIDE 21

Introduction Modeling networks Building Blocks Examples Conclusion

User protocol model

Description variables

◮ Window size w: number of desired outstanding packets ◮ Congestion measure µ: delays, packet loss, etc ◮ Sending flow φo(t) and ACK flows φ(t)

Continuous-time model of user protocol (Axiom 3) Protocol state : ˙ z(t) = P(z(t), µ(t)) Window size : w(t) = W(z(t), µ(t))

◮ How to relate flows, flight-size and window size ?

φo(t) = U(w(t), φ(t)) ?

  • C. Briat [KTH /

] 21/33

slide-22
SLIDE 22

Introduction Modeling networks Building Blocks Examples Conclusion

Complete user model

Protocol Equations ˙ z(t) = P(z(t), µ(t)) w(t) = W(z(t), µ(t)) Sending flow model φo(t) =

  • ˙

wi(t) + φ(t) if Ti(t)

  • therwise

˙ πi(t) = if Ti(t) ˙ wi(t) + φ(t)

  • therwise.

Ti(t) = ([πi(t) = 0] ∧ [ ˙ wi(t) + φ(t) ≥ 0])

  • C. Briat [KTH /

] 22/33

slide-23
SLIDE 23

Introduction Modeling networks Building Blocks Examples Conclusion

Examples

  • C. Briat [KTH /

] 23/33

slide-24
SLIDE 24

Introduction Modeling networks Building Blocks Examples Conclusion

Single buffer - Two Users

  • C. Briat [KTH /

] 24/33

2.8 3 3.2 3.4 3.6 3.8 4 4.2 0.01 0.015 0.02 0.025 0.03 0.035 0.04

Time [sec] Queue size [sec]

Proposed model Ratio link model Static link model Joint link model NS−2

Scenario 1

◮ c = 100Mb/s, ρ = 1590 bytes ◮ Propagation delays: T1 = 3.2ms and T2 = 117ms ◮ Initial congestion window sizes: w0

1 = 50 and w0 2 = 550 packets

◮ At 3s, w1 is increased to 150 packets.

slide-25
SLIDE 25

Introduction Modeling networks Building Blocks Examples Conclusion

Single buffer - Two Users

  • C. Briat [KTH /

] 25/33

4.8 5 5.2 5.4 5.6 5.8 6 6.2 0.06 0.065 0.07 0.075 0.08 0.085

Time [sec] Queue size [sec]

Proposed model Ratio link model Static link model Joint link model NS−2

Scenario 2

◮ c = 100Mb/s, ρ = 1590 bytes, no cross-traffic ◮ Propagation delays: T1 = 10ms and T2 = 90ms ◮ Initial congestion window sizes: w0

1 = 210 and w0 2 = 750 packets

◮ At 5s, w1 is increased to 300 packets.

slide-26
SLIDE 26

Introduction Modeling networks Building Blocks Examples Conclusion

Two buffers - Three Users

  • C. Briat [KTH /

] 26/33

9.5 10 10.5 11 11.5 12 12.5 13 0.07 0.08 0.09

Time [sec] Queue size 1 [sec]

9.5 10 10.5 11 11.5 12 12.5 13 0.045 0.05 0.055 0.06 0.065 0.07

Time [sec] Queue size 2 [sec]

Proposed Model NS−2

Scenario 3

◮ c1 = 72Mb/s, c2 = 180Mb/s, ρ = 1448 bytes, no cross-traffic ◮ Propagation delays: T1 = 120ms, T2 = 80ms and T3 = 40ms ◮ Initial congestion window sizes: w0

1 = 1600, w0 2 = 1200 and w0 3 = 5 packets

◮ At 10s, w2 is increased to 1400 packets.

slide-27
SLIDE 27

Introduction Modeling networks Building Blocks Examples Conclusion

Two buffers - Three Users

  • C. Briat [KTH /

] 27/33

9.5 10 10.5 11 11.5 12 12.5 13 0.2 0.205 0.21 0.215 0.22 0.225

Time [sec] Queue 1 [sec]

9.5 10 10.5 11 11.5 12 12.5 13 0.045 0.05 0.055 0.06 0.065 0.07

Time [sec] Queue 2 [sec]

Proposed Model NS−2

Scenario 4

◮ c1 = 72Mb/s, c2 = 180Mb/s, ρ = 1448 bytes, δ1 = c1/2 ◮ Propagation delays: T1 = 120ms, T2 = 80ms and T3 = 40ms ◮ Initial congestion window sizes: w0

1 = 1600, w0 2 = 1200 and w0 3 = 5 packets

◮ At 10s, w2 is increased to 1400 packets.

slide-28
SLIDE 28

Introduction Modeling networks Building Blocks Examples Conclusion

Single-buffer/Single-user

  • C. Briat [KTH /

] 28/33

4.8 5 5.2 5.4 5.6 5.8 6 6.2 6.4 6.6 6.8 0.05 0.1 0.15 0.2

Time [sec] Queue size [sec]

Proposed model Joint & Ratio link model Static link model NS−2 4.8 5 5.2 5.4 5.6 5.8 6 6.2 6.4 6.6 6.8 −300 −200 −100 100

Time [sec] ACK-buffer π [Pkt]

Scenario 5

◮ c = 12.5Mb/s, ρ = 1040 bytes, no cross-traffic ◮ Propagation delay: T = 150ms ◮ Initial congestion window size: w0 = 500 packets ◮ At 5s, w1 is halved.

slide-29
SLIDE 29

Introduction Modeling networks Building Blocks Examples Conclusion

Single-buffer/Single-user

  • C. Briat [KTH /

] 29/33

4.8 5 5.2 5.4 5.6 5.8 6 6.2 6.4 6.6 6.8 0.05 0.1 0.15 0.2

Time [sec] Queue size [sec]

Proposed model Joint & Ratio link model Static link model NS−2 4.8 5 5.2 5.4 5.6 5.8 6 6.2 6.4 6.6 6.8 −300 −200 −100 100

Time [sec] ACK-buffer π [Pkt]

Scenario 6

◮ c = 25Mb/s, ρ = 1040 bytes, δ = c/2 ◮ Propagation delay: T = 150ms ◮ Initial congestion window size: w0 = 500 packets ◮ At 5s, w1 is halved.

slide-30
SLIDE 30

Introduction Modeling networks Building Blocks Examples Conclusion

Conclusion

  • C. Briat [KTH /

] 30/33

slide-31
SLIDE 31

Introduction Modeling networks Building Blocks Examples Conclusion

Conclusion

◮ Model obtained from few principles: 1 conservation law and 2 basic models ◮ ’Kirchhoff’s laws’ (conservation of flows and quantity of information):

Current [A] Flow [bit/s] Voltage [V] Quantity of information [bit]

◮ Network component models expressed in terms of these variables: ◮ Transmission channel ◮ Queues ◮ Users ◮ Describe quite well the reality for considered topologies ◮ Model is modular, scalable, topologically identical ◮ Suitable for building (graphical) simulators

  • C. Briat [KTH /

] 31/33

slide-32
SLIDE 32

Introduction Modeling networks Building Blocks Examples Conclusion

Future works and ideas

Future Works

◮ Global stability analysis of some protocols ◮ Input/ouput approaches ◮ Incorporate packet dropping and queue saturation in the model

Ideas

◮ Design new elements (like tanks) ◮ Approximations for easier analysis ◮ Design of new protocols, e.g. rate-based protocols (get rid of the congestion

window)

◮ Adapt the modeling spirit to other fields where conservation law may be defined

  • C. Briat [KTH /

] 32/33

slide-33
SLIDE 33

Introduction Modeling networks Building Blocks Examples Conclusion

Thank you for your attention

  • C. Briat [KTH /

] 33/33