MIRCC: Mul)path-aware ICN Rate-based Conges)on Control Milad Mahdian - - PowerPoint PPT Presentation
MIRCC: Mul)path-aware ICN Rate-based Conges)on Control Milad Mahdian - - PowerPoint PPT Presentation
MIRCC: Mul)path-aware ICN Rate-based Conges)on Control Milad Mahdian Somaya Arianfar Northeastern University Cisco Systems Jim Gibson Dave Oran Cisco Systems Cisco Systems Outline I. Introduc9on II. Single-Path MIRCC III. Mul9path MIRCC I.
Outline
- I. Introduc9on
- II. Single-Path MIRCC
- III. Mul9path MIRCC
I. Dual-Class Best-Subflow Mul9path Rate Management
- IV. Mul9path Evalua9on
- V. Conclusions
2
3
- I. Introduc9on
Why Should ICN Explore Rate-Based Conges9on Control?
- Many aLrac9ve elements, in spite of lack of take-up under IP
– N. Dukkipa9, “Rate control protocol (rcp): Conges9on control to make flows complete quickly”, 2008 – Quick determina9on of sending rate (from first packet received) – Con9nuous forcing of full buffers to track conges9on point not required – Max-min fair alloca9on of boLleneck links between compe9ng flows
- ICN differs from IP in ways that may be well-suited to rate-based
conges9on control
– Receiver-based with Interest/Data balance – Symmetric forwarding
- ICN rela9vely clean-slate
– IP’s window-based conges9on control has assump9ons and expected behavior – Compliance with those assump9ons handicaps alterna9ves and adapta9ons
4
Goals and Context
- Provide fairness between flows while maximizing network
u9liza9on
– avoiding conges9on and excess latency – taking advantage of mul9path – flow defined by applica9on
- Converge rapidly in response to load change while maintaining
stable flow alloca9on under stable load
- Forwarders not required to maintain long-lived per-flow state
– Pending Interest Table is short-lived
- Rely on distributed algorithms, i.e.
– in the style of the current Internet – not centralized omniscient controllers
- Caching
– Mul9-des9na9on supported: object-level caching a form of mul9- des9na9on – Per-chunk opportunis9c caching not considered at this 9me
5
- II. Single-Path MIRCC
6
Basic Single-Path Rate Control Concepts
7
f d e
Consumer App
Producer App
R(t)=20
c b a
R(t)=40 R(t)=15 R(t)=25 R(t)=10
MAX
D 20 D 20 D 15 D 10 D
Int Send
NewDate Rate
10
I
- Each forwarder, at each interface, maintains R(t): the per-flow
stamping rate for that interface
- Forwarder stamps each Data msg with its interface R(t) if R(t) <
received_value
- Thus, each Data message carries lowest R(t) seen along path
- Endpoint consumer updates flow’s Interest sending rate
- according to Date rate indicated by received boLleneck R(t), deflated
- Forwarder manages load by changing R(t) +/- when observed traffic is
low/high
- R(t) calcula9on is the heart of the distributed system
Forwarder’s R(t) Elements
8
- R(t) represents Data rate but is calculated based on Interest rate. Why
not use Data rate?
– ICN style: ICN is pull-based, which implies managing Interests directly, Data indirectly – We assume an Interest shaper on each face
- Shaping/Nacking Interests filters conges9on signals from Data rate
- Maintain an Infla-on (DataSize/IntSize) es9mate
– Use shaper’s infla9on value
- Directly stamp Data messages
– i.e. stamping Interests and reflec9ng R(t) back in Data at producer – Quicker repor9ng to consumer
R(t) Algorithm Overview
9
- MIRCC and RCP R(t) algorithms differ in detail, similar in spirit
- R(t) updated once per interval T, stamped for next interval [t+T]
- R(t) inputs:
– Inputs based on aggregates – No flow-specific state/logic – No forwarder determina9on of how many actual flows are using the link. Ñ, aka “Flow es9mate” is synthe9c, i.e unrelated to actual flows
Interval T Link capacity (leaving headroom, e.g 95%) ηC Rate calculated for previous interval R(t-T) Interests (inflated) arriving during this interval y(t) Queue depth/RTT es9mate q(t)/d(t) Constants (weighted average, tuning parameter) α, β
Simula9on Results Single-Path MIRCC vs. Straight Port of RCP Algorithm
[Cisco implementa9on of CCNx1.0, run under ns-3]
10
- 250
500 750 1000 82 83 84 85
Time (s) Rate (Kbps)
- 250
500 750 1000 82 83 84 85
Time (s) Rate (Kbps)
Rate convergence in MIRCC Rate convergence in RCP
- III. Mul9path MIRCC
11
Issue 1: Path Iden9fica9on and Steering
A flow consists of mul9ple subflows. Each subflow’s path reports its own Rsf(t)
- What en9ty tracks a flow’s mul9ple subflows and their current Rsf(t)?
– Consumer endpoint (applica9on/applica9on-library), the only en9ty given stated goals and assump9ons – Significant extra responsibility for consumer vs. single-path situa9on
- How does consumer endpoint iden9fy subflows and per-subflow Rsf(t)?
– Path iden-fier, reported in Data message
- How are consumer endpoint’s decisions about per-subflow rates
honored for the consumer’s Interests?
– Path iden-fier, reflected back in Interest as hint
- How are subflows discovered?
– Interests without path iden9fiers must be sent ini9ally/periodically – Forwarders with mul9ple next hops choose probabilis9cally
- Path steering mechanisms have other possible uses, e.g. for ICN ping
performance measurement and for ICN traceroute
12
Issue 2: Mul9path Fair Flow Rate
- Simple schemes do not meet the stated goals
– Send at rate of Best-Subflow : Max(Rsf(t))
- Underu9lized network (easily evident with small number of flows)
– Send at Total per-Subflow rate: Σ Rsf(t)
- Flow-Unfair: Not max-min fair between flows
- Link-Unfair: Can occupy more than one flow-share of shared links
- Signaling a complete picture of flow’s subflow
topology (including joint boLleneck link rates) to consumer or forwarders is not tractable
13
Mul9path Fair Flow Rate Solu9on
Dual-Class Best-Subflow Mul)path Rate Management
- Exis9ng (“Primary”) Class
– Forwarder maintains and stamps Rp(t) in every Data message – Primary pool con9nues to be sized to link capacity: C – Consumer sends Primary Interests at Best-Subflow rate: Max(Rp(t)) – Generally high level of fairness between flows
- New (“Secondary”) Class, for any remaining bandwidth
– Forwarder also maintains and stamps Rs(t) in every Data message – Secondary pool sized to unused primary bandwidth: C – primary_traffic(t) – Consumer sends Secondary Interests at Total per-Subflow rate: Σ Rs(t) – “Soaks up” any remaining available bandwidth
- Forwarders preferen9ally drop Secondary traffic under conges9on
14
15
- III. Evalua9on
MIRCC Mul9path: Single Flow Arrival and Departure
16
R(t)=15Mbps R(t)=12 Mbps Consumers 1, 2 Producer 1a F2 E1 Producers 1b, 2 E4
Consumer 1 Consumer 2 la lb lc
R(t)=9 Mbps E3
15-12-9 Slingshot Topology Note:
- Joint boLleneck la always fully u9lized
(C1:TotalRate + C2:TotalRate)
- Stable flow rates under stable load
- While C1 and C2 are compe9ng
- no excess capacity
- secondary rate traffic goes to 0
95% of Bottleneck Link (Note: Flow TotalRate = Primary + Secondary)
C1:TotalRate C1:PrimaryRate C1:SecondaryRate C2:TotalRate
2 4 6 8 10 12 14 16 18 20 80 85 90 95
Time (s) Rate (Mbps)
Rate management for two consumers,
- ne with mul)path
MIRCC Mul9path: Mix of Short and Long Flows
17
- 16807
2 984943658 2 1144108930 3 1457850878 4 2007237709 5 1784484492 5000 10000 15000 20000 5000 10000 15000 20000 5000 10000 15000 20000 50 100 150 200 50 100 150 200
Time (s) RcvdData (Kbit) 0.00 0.25 0.50 0.75 1.00 5000 10000 15000
Completion Time (ms) CDF of Flow Completion Time length R(t)=100Mbps Scenario 1: R(t)=100Mps Scenario 2: R(t)=15Mbps 10Mbps
Consumers A-D Producers A-E F2 F3 F4 F5 E0 E6
la lc ld lf le lg 100Mbps
Consumer E E1
R(t)=100Mbps lb
Diamond Topology Flows arriving/leaving frequently (0.5s) Note:
- Short flows not disadvantaged
- Links fully u9lized
Short flows Long flows
Single-Path vs. Mul9path
18 M.11 S.11 M.13 S.13 M.14 S.14 M.15 S.15 M.17 S.17 M.18 S.18 M.20 S.20 M.21 S.21 20000 40000 60000
Delivery time (ms) Node ID Prefix
/Amazon /Google /Warner
Note:
- 3 synthe9c producer nodes (not really
Amazon/Google/Warner)
- 8 consumer nodes, random assignment
- Random mix of flow sizes
- Enabling Mul9path significantly lowers
average delivery 9me vs. Single-path
- not on 14, 15
Delivery Time [sec]
Abilene Topology
Conclusions
- We iden9fy an algorithm for maintaining R(t) that
provides beLer throughput and convergence, in our ICN simula9ons, than (a straight port of) RCP’s algorithm
- For mul9path rate-based conges9on control
– We devise a scalable path management solu9on, opera9ng at the endpoints, that is based on a path iden9fica9on/steering mechanism – We devise a rate management solu9on that
- Maintains a high degree of fairness between flows
- Achieves high network u9liza9on
- Uses addi9onal machinery that is in the spirit of the simpler single-
path rate-based conges9on control
– We avoid forwarder per-flow state.
19
Q/A
20
21
- Appendix. Backup Slides
- 𝑆 𝑢 = 𝐶𝑏𝑡𝑓𝑆𝑏𝑢𝑓 𝑢 + 𝐹𝑦𝑑𝑓𝑡𝑡𝑆𝑏𝑢𝑓 𝑢
- the stamping rate
- 𝐶𝑏𝑡𝑓𝑆𝑏𝑢𝑓 𝑢 =
𝜃𝐷 −𝛾(𝑢)𝑟(𝑢)
𝑒(𝑢)
𝑂
- non-recursive formula to split the allowed link bandwidth among
the passing flows
- 𝐹𝑦𝑑𝑓𝑡𝑡𝑆𝑏𝑢𝑓 𝑢 = 𝑆 𝑢 − 𝑈 −
𝑧 𝑢 𝑂
- recursively fill up the extra available bandwidth with traffic equally
- 𝑂 =
max(𝐷,𝑧 𝑢 ) 𝑆(𝑢−𝑈)
- equivalent number of flows with full rate
- 𝛾 𝑢 = max
𝛾′,
𝑧 𝑢 −𝑧(𝑢−𝑈) 𝑧(𝑢)
- self-tuned parameter chosen for stability
MIRCC R(t) Algorithm
22
Rate-Based Basic (Single Path) Scheme: Flow Rate Convergence
F1 (E) F2 (E) F3 (E) F4 (E)
10G
4 responsive (elas9c) flows sharing link
- R(t) [FlowStampingRate]: 2.5Gig
- FlowCount(No9onal): 4
10G
0 flows currently using link
- R(t) [FlowStampingRate]: 10Gig (cap)
- FlowCount(No9onal): 1/0
F1 (E) F2 (1G) F3 (1G) F4 (1G)
10G
4 responsive (elas9c) flows sharing link, 3 are boLlenecked elsewhere at 1G
- R(t) [FlowStampingRate]: 7Gig
- FlowCount(No9onal): 1.43
F1 (1pps) F2 (1pps)
….
F100 (1pps)
10G
100 CBR flows (1 pps) sharing link
- R(t) [FlowStampingRate]: ~10Gig (cap)
- FlowCount(No9onal): 1/0
Basic Single-Path Rate Control Proper9es
- Achieves max-min fairness among flows
sharing link
- No flow-specific state/logic at forwarder for
calcula9ng stamping rate
- Not based on forwarder determina9on of how
many actual flows are using the link
- Minimal endpoint responsibili9es in single-
path version
24
MIRCC Mul9path: Single Flow Arrival and Departure (Symmetric 10Mbps Producer Links)
25
Note:
- Joint boLleneck la always fully u9lized
(C1:TotalRate + C2:TotalRate)
- Stable flow rates under stable load
- While C1 and C2 are compe9ng
- no excess capacity
- secondary rate traffic goes to 0
95% of Bottleneck Link (Note: Total = Primary + Secondary)
C1:TotalRate C1:PrimaryRate C1:SecondaryRate C2:TotalRate
2 4 6 8 10 12 14 16 18 20 80 85 90 95
Time (s) Rate (Mbps)
Rate management for two consumers,
- ne with mul)path
15-10-10 Slingshot Topology
R(t)=15Mbps R(t)=10 Mbps Consumers 1, 2 Producer 1a F2 E1 Producers 1b, 2 E4
Consumer 1 Consumer 2 la lb lc
R(t)=10 Mbps E3