Slides

Reliable Multicast Routing for
Software-Defined Networks
Introduction (1/7) Unicast

Video services via unicast suffer from high server and
network load
Keep one
connection for
each client  high
server load
Each stream
occupy
bandwidth high
network load
Introduction (2/7) Multicast


Multicast reduces the load of both servers and networks
Support more clients with the same resources
The load of the
server is reduced
More clients can
be served
The load of the
network is reduced
Introduction (3/7) Reliable Multicast




Reliable transmission is desired by some applications
Video services such as MPEG DASH
Sender handles recovery  high recovery cost
Middle nodes handle recovery  where to place the
recovery nodes
Recovery Packets
Acks
Acks
Save BW and
latency
Acks
Place a recovery
node
Introduction (4/7) Multicast with SDN

Multicast traffic engineering for SDN?


Shortest-Path Tree (SPT) in Internet

Employ OSPF unicast routing, no traffic engineering

Minimize an end-to-end cost

Difficult to efficiently reduce the total bandwidth consumption
Steiner Tree (ST) in Graph Theory

Minimum resource consumption (# of edges in T)

Does not consider the selection of the recovery node

Difficult to facilitate local loss recovery
5
Introduction (5/7) Recover-Aware Steiner Tree

Reliable multicast




Each destination is assigned a recovery node to recover loss
packets
Recovery nodes cache packets and monitor transmission for
destinations
The total costs include tree and recovery cost
Proposed Recover-Aware Steiner tree (RST)


Reduce both tree and recovery costs
Objective: minimize (tree cost + α× recovery cost)

α: weighting factor for recovery cost
Introduction (6/7) Tree and Recovery Costs

D = {1, 2, 3, 4, 5, 6, 7}, C = V, r = 2, R = {7, v}

Then c(T) = 36 , w(T) = 39
s
3
par(v) = s
w(Pv) = 3 + 8 = 11
8
9
7
u
2
2 v 1
1
5
w
3
3
6
1
2
par(2) = v
w(P2) = 1 + 2 = 3
2
4
5
w(P1) = 2
w(P2) = 3
w(P3) = 1
w(Pv) = 11
w(P4) = 5
w(P5) = 3
w(P6) = 5
w(P7) = 9
Introduction (7/7) Comparison
(a) Original
Network
(b) Shortest-path
tree
Tree cost = 40
Recovery = 58
(c) Steiner tree
Tree cost = 22
Recovery = 66
(d) Recoveraware Steiner
tree
Tree cost = 25
Recovery = 32
Related Works




Few current works in SDN community address multicast
traffic engineering
Current reliable multicast approaches (RMTP-II, PGM,
NORM) focus on minimizing the number of ACK and
NAK messages
None of them consider the selection of recovery nodes
Can not minimize recovery costs
Main Contributions

Observe that both SPT and ST are not suitable for reliable
multicast



Propose Recover-Aware Steiner Tree (RST)


Integer Programming (IP) formulation
Prove that RST is NP-hard and not approximable within k


Traffic engineering
Can not reduce both tree and recovery costs
k: terminal node number
Propose k-approximation algorithm RAERA for RST


RAERA: Recover-Aware Edge Reduction Algorithm
Achieve the best approximation ratio
10
Hardness Result



RST is NP-Hard
Steiner tree (ST) approximable within ratio 1.55
RST not approximable within |D|1-ε for everyε>0


Gap-introducing reduction from the Set Cover (SC) problem
Transform an instance in SC to G in RST, such that





If SC returns TRUE, OPT(G)≦(α + 1)(k + 1)|D|
If SC returns FALSE, OPT(G)>(α + 1)(k + 1)|D|2-ε
k:
D: the destination set
L: the cost of each edge from s to X in G
Gap-Introducing Reduction
An instance in SC
Transform to G in RST
y1
1
y1
x2
y2
L
y3
ym
x2
…
x3
y3
x1
…
x1
x3
s
…
x4
y1
x4
y2
L
Y
1
X
…
ym
X
y3
x5
x5
y2
ym
|Y|p copies of Y
If (X, Y, E) has a k-node subset A of X covering all nodes in Y, then
there exists a tree T rooted at s which contains A and D. And recovery
set R is set as A. R = {x1, x2, x5}
c(T) = k * L + |D| , w(T) = k * L + |D|
y1
y2
y1
x2
y2
x1
y3
…
x1
y3
s
…
T
x3
x5
x5
ym
y2
y3
ym
k-node subset A
X
y1
…
x4
x4
ym
…
x3
x2
Y
X
|Y|p copies of Y
If (X, Y, E) does not have a k-node subset A of X covering all nodes in Y,|
then w(T) > L * |Y|p
y1
y2
x1
y3
…
x2
x3
x4
x5
…
s
ym
y1
y2
y3
…
ym
X
|Y|p copies of Y
For each copy of Y, at least one
node connects to a nonrecovery node, leading to a
much higher recovery cost .
Recover Aware Edge Reduction Algorithm (1/8)

Tree Routing Phase




The first phase starts from the shortest-path tree with root s and
iteratively improves the tree to reduce the tree cost.
RAERA iteratively re-routes a destination node on the solution tree T(VT,
ET ) to reduce the tree cost.
More importantly, the re-routing path needs to include at least one
candidate recovery node in C and the cost of the depth in the new tree
cannot exceed the depth of the original shortest-path tree.
Recovery Selection Phase

Recovery Selection Phase is a dynamic programming algorithm to select
the recovery nodes to minimize the recovery cost.
Recover Aware Edge Reduction Algorithm (2/8)
Calculate a
shortest-path tree
An example of Tree Routing
forPhase:
each destination
s
3
5
3
1
8
1
u
w
3
1
1
b
1
2
2
v
2
4
2
3
1
3
1
3
10
1
7
2
9
Original network
11
6
5
2
5
1
e
6
2
5
c
6
d
5
s
3
8
2
x
12
11
6
9
1
2
1
2
8
1
9
9
5
u
2
1
12
8
b
d
2
2
c
6
1
e
1
v
6
2
w
1
7
2
5
4
3
3
10
5
8
2
2
8
9
Shortest-path tree with root s
Recover Aware Edge Reduction Algorithm (3/8)
An example of Tree Routing
Phase:
Re-route
destinations
s
3
5
11
6
1
5
u
2
1
12
8
b
d
2
2
c
6
1
1
v
6
5
3
3
1
5
3
2
2
8
Shortest-path tree with root
s
w
9
2
2
8
b
1
d
2
1
v
4
1
3
1
e
6
2
c
6
3
1
u
2
7
2
4
10
5
8
11
6
s
12
5
e
2
w
1
3
2
5
8
10
5
7
1
22
3
Tree Routing Phase
8
2
1
9
Recover Aware Edge Reduction Algorithm (4/8)
Recovery Selection Phase:





For each node v in VT, let Tv be the subtree of T rooted at v. Let Rv be a
recovery set on Tv. The dynamic programming algorithm finds the
optimal recovery sets for two cases.
A recovery set Rv on Tv is type I if v not in Rv.
Rv belongs to type II if v in Rv.
σx,k(Tv): the minimum recovery cost on Tv over all type I recovery set Rv
with |Rv| ≦ x, such that v exactly dominates k nodes in Rv∪D.
τx(Tv): the minimum recovery cost on Tv over all type II recovery set Rv
with |Rv| ≦ x .
Bottom up

Recover Aware Edge Reduction Algorithm (5/8)
Lemma 1: For each node 𝑣 ∉ 𝐿 and its child nodes 𝑢1 , … , 𝑢𝛿𝑣 in 𝑇, the
following equations hold for 0 ≤ 𝑥 ≤ 𝑟, 1 ≤ 𝑘 ≤ |𝐷|, and 1 ≤ 𝑖 ≤ 𝛿𝑣 .
1) If 𝑢𝑖 ∈ 𝐷, then 𝜎𝑥,𝑘 𝑇𝑣𝑖 =
2)
𝑐𝑣𝑢𝑖
if 𝑘 = 1 and 𝑢𝑖 ∈ 𝐿,
𝜏𝑥 𝑇𝑢𝑖 + 𝑐𝑣𝑢𝑖
if 𝑘 = 1, 𝑢𝑖 ∈ 𝐶, and 𝑢𝑖 ∉ 𝐿,
𝜎𝑥,𝑘−1 𝑇𝑢𝑖 + 𝑘 × 𝑐𝑣𝑢𝑖
if 𝑘 > 1,
If 𝑢𝑖 ∉ 𝐷, then 𝜎𝑥,𝑘 𝑇𝑣𝑖 =
min{𝜎𝑥,1 𝑇𝑢𝑖 + 𝑐𝑣𝑢𝑖 , 𝜏𝑥 𝑇𝑢𝑖 + 𝑐𝑣𝑢𝑖 } if 𝑘 = 1,
𝜎𝑥,𝑘 𝑇𝑢𝑖 + 𝑘 × 𝑐𝑣𝑢𝑖
if 𝑘 > 1,
Similar When
discussions
When
𝑢𝑖 isWhen
NOT
𝑢a𝑖 is𝑘 a> 1, 𝑢𝑖
to recovery
2)
not be a
nodecan node
recovery
recovery node
v
v
Since
𝑢𝑖u2∈ …
𝐷,
u1
𝑢𝑖 dominates 𝑘 −
1 nodes in 𝑇𝑢𝑖
v
uδv
Recover Aware Edge Reduction Algorithm (6/8)
Lemma 2: Suppose 𝑢1 , … 𝑢𝛿𝑣 are the child nodes of 𝑣 ∈ 𝑉𝑇 . For 2 ≤ 𝑗 ≤ 𝛿𝑣 ,
the following equality holds.
𝑗
𝑗−1
𝑇𝑣𝑖
𝜎𝑥,𝑘
𝑖=1
𝑗
𝑇𝑣𝑖 + 𝜎𝑥′ ,𝑘 ′ (𝑇𝑣 )} .
= ′min {𝜎𝑥−𝑥′ ,𝑘−𝑘 ′
𝑥 ∈[0,𝑥]
𝑘 ′ ∈[1,𝑘]
𝑖=1
Use DP,
for 𝑗 = 2 to 𝛿𝑣 ,
to calculate
𝑗
𝜎𝑥,𝑘 (∪𝑖=1 𝑇𝑣𝑖 ) for
every 𝑥, 𝑘
v
u1
# R & #D
Cost
(0,0)
c1
(0,1)
c2
(1,0)
c3
:
:
u2
# R & #D
Cost
(0,0)
c1
(0,1)
c2
(1,0)
c3
:
:
…
# R & #D
Cost
(0,0)
c1
(0,1)
c2
(1,0)
c3
:
:
Recover Aware Edge Reduction Algorithm (7/8)
σx,k(Tv1)
x
k=1
k=2
0
1
2
∞
17
12
∞
∞
∞
k=3
21
1
= 12
7215+++666
σ1,3
τ121,2
(T(T
)) ++2 33= **15
10
22 =
+
0,3
0,2
2,3
2,2
1,1
2,1(Tv ) = σ
u)uu+
18
13
v
x k=1
0
1
2
∞
10
9
2
k=2
15
12
7
u
3
w
x
k=1
k=2
0
1
2
∞
∞
8
20
16
11
τ1(Tu) = 15
τ1(Tw) = 20
τ2(Tu) = 10
τ2(Tw) = 16
Recover Aware Edge Reduction Algorithm (8/8)
σx,k(Tv1)
σx,k(Tv2)
x
k=1
k=2
k=3
x
k=1
k=2
0
1
2
∞
17
12
∞
∞
∞
21
18
13
0
1
2
∞
∞
10
26
22
17
σ1,3(Tv) =
v
min{σ0,1(Tv1) +σ1,2(Tv2), σ0,2(Tv1) +σ1,1(Tv22), σ1,1(Tv1) +σ0,23
(Tv2), σ1,2(Tv1) +σ0,1(Tv2)}
= min{∞, ∞, 17+26 ,∞} = 43
u
w
Simulation Setup


Estinet network simulator
A real topology




Biznet with 29 nodes and 33 links
#destinations = 6 ~ 12
#recovery nodes = 2
Synthetic topologies




Generated by Inet
#nodes = 4000 ~ 10000
#destinations = 100 ~ 500
#recovery nodes = 15 ~ 55
Simulation Setup

Algorithms





The shortest-path tree algorithm (SPT)
The Steiner tree (ST) algorithm
The optimal solution by CPLEX
RAERA
Performance metrics



Total cost (tree + recovery costs)
Total retransmitted bytes
Average latency
The Real Topology
28
CPLEX
Tree Cost
20
Recovery Cost
RAERA
24
ST
SPT
16
12
6
ST does not
consider recovery
cost and results in
SPT minimizes
the
recovery
SPTendalsohighest
provides
to-end52hops,
andrecovery
it
cost
higher
cost
CPLEX
results in the highest
tree cost RAERA
42
The ST
tree cost
provided by RAERA
SPT
32
is similar to
optimized solution
8
10
k
Tree Cost
12
ST 22
minimizes tree
REARA also
cost, and provides
consider recovery
12
the lowest
tree cost
cost, so
6
8 the cost
10 is
k
the lowest
Recovery Cost
12
The Real Topology
5
4
CPLEX
RAERA
ST
Latency (s)
Retransmission (MBytes)
6
SPT
3
2
1
0
6
Longer end-to-end
hops make longer
Because of the latency when k is
highest recovery
larger
cost, ST generates
250
the most CPLEX
retransmission
bytes
200
RAERA
8
10
k
Retransmission
12
150
ST
SPT
100
SPT50is in between
SPT reduces the
REARA similar to
end-to-end hops, so
0
optimized
solution
its
6
8 latency
10 does not
12
generates the fewest
k
grow
with k
retransmission bytesREARA shows the
critically
lowestLatency
latency
with
lower total costs
Synthetic Topology
Cost (Tree+Recovery)
RAERA
1600
1200
The cost increase
with k, because of
larger tree for more
destinations.
Cost (Tree+Recovery)
2000
ST and SPT work
similar with higher The cost slightly
cost.
decreases with
more recovery
RAERA
1250
nodes
ST
SPT
800
400
0
1150
ST
SPT
1050
950
850
750
100
200
300
k
400
500
Cost with Different k REARA successfully
reduces the cost
15
25
35
r
45
Cost with Different r
55
Synthetic Topology
Cost (Tree+Recovery)
1100
RAERA
ST
Retransmission (MBytes)
1200
The cost does not
increase with |V|,
because the sizeST
of and SPT work
80
tree is similar.
similar. 70
SPT
1000
900
800
RAERA
More destinations
generate more
retransmission
Bytes.
ST
60
SPT
50
40
30
20
10
700
0
4000
6000
8000
10000
100
200
300
k
400
500
RAERA provides
Cost with Different |V| lower cost and Retransmission bytes with different k
generate less
transmission bytes
|V|
Synthetic Topology
Latency
Latency
is the does not
obviously
highest inchange
ST cast,
k and r
because
of with
longer
SPT shows
higher
160
end-to-end
latency thanhops
REARA,
RAERA
because of higher ST
120
recovery latency SPT
160
RAERA
ST
SPT
Latency (s)
Latency (s)
120
80
80
40
40
0
0
100
200
300
k
400
500
Latency with different
k provides the
RAERA
lowest latency
15
25
35
r
45
Latency with different r
55
Running Time of RAERA

Intel Xeon E7-4870 2.4 GHz CPUs and 128GB RAM
When scale is small,
the running time is
less than 1 second
|v|
Running time
increases with k
k = 100
k = 200
k = 300
k = 400
k = 500
4000
0.7
1.37
2.87
5.29
9.56
6000
1.5
2.23
3.9
6.93
11.48
8000
2.61
3.39
5.09
7.91
12
10000
4.08
4.9
6.6
10.14
13.99
Also increases with
|V|
Even in a large scale,
the running is still
acceptable.
Implementation





We evaluate RAERA in our experimental SDN network
Use Floodlight as our controller
Implement recovery nodes in Click software router
Topology includes 14 nodes and 20 links with 8
destinations and 2 recovery nodes
Test video is 136 seconds in length
Evaluation in Our Testbed
RAERA provides
better video quality
Algorithm
Bandwidth
Consumption
Re-buffering
RAERA
13.18 Mbytes
0.4 s
ST
16.39 Mbytes
33.5 s
SPT
17.83 Mbytes
7.8 s
ST and SPT
generate similar
retransmission bytes
ST provides longer
average end-to-end
hops that causes
longer video rebuffering
Conclusion

Traffic engineering and recovery node selection in SDN
have not been carefully addressed for reliable multicast

Propose Recover-aware Steiner Tree (RST)
Prove that RST



NP-Hard and not able be approximated within k.
Design algorithm RAERA


k–approximation algorithm – tightest bound
Acquire a solution in seconds in massive networks
33
Backup Slides
Reliable Multicast


Sender handles recovery  high recovery cost
Middle nodes handle recovery  where to place the
recovery nodes
High recovery
costs
Acks
Acks
Recovery Packets
Recovery Packets
Reliable Multicast


Sender handles recovery  high recovery cost
Middle nodes handle recovery  where to place the
recovery nodes
Place a recovery
node
Recovery Packets
Acks
Acks
Save BW and
latency
Acks
Recover Aware Edge Reduction Algorithm (7/8)


An example for recovery node selection
Use lemma 2 to calculate σx,k(Tu)
σx,k(Tu)
x
k=1
k=2
k=3
k=4
0
1
2
∞
∞
∞
∞
∞
∞
9
9
9
∞
∞
∞
τ1(Tu) = τ2(Tu) = 9
u can help only tree special
nodes for recovery, so there is
no solution when k = 1, 2, 4
Recover Aware Edge Reduction Algorithm (8/8)

Use Lemma1.(ii) to calculate σx,k(T11)
σx,k(T11)
x
k=1
k=2
k=3
k=4
0
1
2
∞
14
14
∞
∞
∞
24
24
24
∞
∞
∞
σ1,1(T111)
= min {σ1,1(Tu) + 5, τ1(Tu) + 5}
= min {∞, 9 + 5}
σ2,3(T111)
= σ2,3(Tu) + 3 * 5
= 9 + 15