Control Update

Download Report

Transcript Control Update

Slice-Centric View
Slicex
MI1 := {myIP, Port1}
...
MIn := {myIP, Portn}
– Get interface attributes:
{{ifn, type, ipaddr, linkBW, availBW}, ...}
– If peering then get peer’s IP address
– Allocate aggregate interface bandwidth
• Allocate external port number(s)
• Define meta-interfaces
GPE
Slicex control
application
BW1,min
MI2 (tunnel)
BW2,min
...
MIm
qj
ql
wrr
MIn (tunnel)
BWn,min
– add, remove, update, get, lookup
– Substrate remaps slice ids (qid, fid, mi,
stats) to global identifier
• Associate queues with meta-interfaces
– Substrate has to map meta-interface numbers
used in TCAM filters to the corresponding
local addresses
• Manage queue parameters, get queue length
Fred Kuhns - 7/21/2015
qGPE
qk
wrr
MI1 (tunnel)
• Manage TCAM filters
– Substrate adds line card filter(s)
– Slice may specify minimum BW
– threshold, bandwidth (weight)
TCAM
(Filters)
MI2
qj
...
• Allocate and free code option instance,
NPE resources and interface bandwidth.
• Manage interfaces
substrate
slice state
max
Buffers
VLAN
max weights
qparams
qlen, threshold, weight
qi
wrr
...
Fast path
Slicex
MI1
q0
...
SRAM DRAM
stats block block
• One-time or periodic statistics
– Periodic uses polled or callback model
• Read and write SRAM
– Substrate verifies address and length
– Extended to also support DRAM memory
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
1
Mapping Slice Queue BW to Queuing Weights
Slice Interface and Queue Allocations:
{Port, BW, QList}; Qlist = {{qid, weight, threshold},...}
NPE
wrr
q10
q11
...
FP slice1
qid in 0...n-1
q1n
BW11
q20
LC
q21
...
FP slice2
qid in 0...m-1
q2m
wrr
Physical Port (Interface)
Attributes:
{ifn, type, ipaddr,
linkBW, availBW}
ifn : Interface number
type: {Internet, Peering}
Operations:
get_interfaces()
get_ifattrs(ifn)
get_ifpeer(ifn)
alloc_ifbw(ifn,bw)
FP1
BW11
+
BW21
=
BW1
FP2
GPE
GPE
BW1
ipAddr
linkBW
BW21
Fred Kuhns - 7/21/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
2
Single Interface Example
• LC Ingress
Ingress
–
–
–
wrr qxs1
qxs2
• LC Egress
...
Map fp:MI to Q
{dip, dp, pr}
SchedNPE1
qxsn
–
–
–
...
qps1
qps2
• NPE
–
–
–
qBE
...
At least one scheduler for each physical interface
One queue for each active slice with MI defined for the associated scheduler
One best effort queue for each board (GPE, CP, NPE?)
Slice binds queues to meta-interfaces, hence physical interfaces
Slice either reserves BW on a physical interface or it is assigned the minimum
Substrate assigns a per interface maximum weight for each slice
• Substrate sets scheduler rates according to aggregate allocations
SchedCP
Egress
qs1
wrr
–
Manage scheduler rates to control aggregate traffic to interfaces and boards.
NPE
FP slice1
qs2
qid in 0...n-1
...
SchedI1
...
FP slicek
qid in 0...m-1
qsn
BWI1
qGPE
...
qCP
src addr
proto
port/icmp
Fred Kuhns - 7/21/2015
q11
w11
q12
w12
wrr
GPE
q1n
w1n
...
Scheds,k
...
BWNPE1,GPE1
local delivery
and exception
VLAN
...
interface 1
...
SchedGPE1
qpsn
wrr
One queue per slice with reserved bandwidth (really one per scheduler)
One queue for best effort traffic to each GPE
One scheduler for CP with queues for reserved traffic plus BE
qp1
wp1
qp2
wp2
BWs,k
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
...
LC
qpm
wpm
qw,GPE1
...
Total weight for all slices (i)
and queues (j) ≤ max weight
for scheduler s (W s)
w
i
j
NPE
wrr
s
i,j,k
 Ws
k
w is  MTU 
...
slice’s allocated
BW
BWis
s
BWmin
minimum weight = 1 MTU sized packet
scheduler min
rate
3
Two Interface Example, Setting Queue Weights
Slice i, meta-interface j, qid k and scheduler s.
wrr
NPE
q1j0

q1j1
...
q1jn
to interface 1
FP slice1
i
LC
wrr
q2j0
FP1
q2j1
FP2
...
qid in 0...n-1
BW11
GPE
q2jm’
BW1
IP1
linkBW
to interface 2
q1j0’
to interface 1
...
FP slice2
q1jn’
qid in 0...m-1
q2j0’
to interface 2
wrr
q1j1’
FP1
BW12
w is  W s
FP2
GPE
BW2
IP2
linkBW
w is
BW  s BWs
W
MTU
s
s
BWmin

BW
Ws
s
BW
i
w is  W s 
BWs
BWis
s
w i  MTU 
s
BWmin
s
i
w is,j,k  MTU 
q2j1’
BWis,j,k
...
s
BWmin
q2jm’
wrr
Fred Kuhns - 7/21/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
4
Formulas
• Slice i, meta-interface j, QID k and scheduler s.
w
s
i,j,k
 w is,j;
k
w
s
i,j
j
 w is;  w is  W s
scheduler
i
s
Given : BW s; BWij
and BWis,j,k; then BWis 

BWis,j,k
qid
j,k
w si,j,k
Ws
Ws
w

BWis,j,k
; w smin  MTU  W s 
BW
BW
BWis,j,k
BWis,j
BWs
BWs
 MTU 
 N  MTU
s
BWmin
s
i,j,k
 MTU 
s
min
BW
; w
s
i,j
 MTU 
meta-interface
fastpath
s
min
s
s
min
BW
; w
s
i
BWis
 MTU 
s
BWmin
or
w
s
i,j,k
 W
s

BWis,j,k
BW
Fred Kuhns - 7/21/2015
s
; w
s
i,j
 W
s

BWis,j
BW
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
s
; w
s
i
 W
s
BWis

BWs
5