Optimizing Throughput with Network Coding Zongpeng Li, Baochun Li - - PowerPoint PPT Presentation

optimizing throughput with network coding
SMART_READER_LITE
LIVE PREVIEW

Optimizing Throughput with Network Coding Zongpeng Li, Baochun Li - - PowerPoint PPT Presentation

Optimizing Throughput with Network Coding Zongpeng Li, Baochun Li Department of Electrical and Computer Engineering University of T oronto DIMACS W orking Group on Network Coding Rutgers University January 28, 2005 URL: google Baochun


slide-1
SLIDE 1

Optimizing Throughput with Network Coding

Zongpeng Li, Baochun Li

Department of Electrical and Computer Engineering University of T

  • ronto

DIMACS W

  • rking Group on Network Coding

Rutgers University January 28, 2005 URL: google “Baochun”

slide-2
SLIDE 2

Outline

From practice to theory The problem of optimizing throughput A matrix of problems Does network coding really help? From theory to practice

slide-3
SLIDE 3

The problem of

  • ptimizing throughput

(from practice to theory)

slide-4
SLIDE 4

Maximizing throughput

Given an existing network topology and capacities, how to maximize throughput between the source and the receivers? Past work from systems research: Digital Fountain (SIGCOMM 98 and 02): uses fountain codes to improve throughput SplitStream (SOSP 03): uses multiple multicast trees BitT

  • rrent: responsible for a fair amount
  • f Internet traffic (rumor: 30%)
slide-5
SLIDE 5

Network Flows

The problem of maximizing throughput naturally corresponds to the problem of finding maximum flow rates in a capacitied network: Single unicast session: unicommodity flows Multiple unicast sessions: multicommodity flows But a node in a realistic network can do more than simply forwarding data Replicating data for multiple downstream nodes: multicas Encoding and decoding data: network coding

slide-6
SLIDE 6

topology con- finement respect link cap. replicable encodable

  • info. flow

yes yes yes yes fluid flow yes yes no no

slide-7
SLIDE 7

Given a source and a group of receivers, what is the maximum throughput one can achieve in a network topology with known link capacities?

S R a a a a

1

R2 S R a b a a b b a+b a+b a+b

1

R2

slide-8
SLIDE 8

Ahlswede et al. and Koetter et al.: for a multicast communication session in a directed network, if a rate x can be achieved to each receiver independently, it can also be achieved for the entire session.

T1 T2 S T1 T2 S T b a

1

T2 a b a+b a+b a+b a b S

slide-9
SLIDE 9

Directed vs. Undirected Networks

Bidirectional links: A more general, and “harder” model than directed networks Results in directed settings no longer hold:

  • f(

− →

AB) + f(

− →

BA) ≤ Cap(AB).

m m m

1

m

1

m

2

m

2

0.5 0.5 1 1 partition

slide-10
SLIDE 10

Fractional vs. integral routing

Fractional routing: link capacities can be shared fractionally, and flows can be split and merged in arbitrarily fine scales Integral routing: all link capacities and flow rates have integer values

slide-11
SLIDE 11

S R ab

1

R2 S R1 R2 ab bc bc ac ac ace12 bdf23 acde abdf ade12 bcef adf23 bcf13 bce13 (a) Half-integer routing,

  • ptimal throughput = 1.5.

(b) Arbitrary fractional routing,

  • ptimal throughput = 1.875.
slide-12
SLIDE 12

Steiner tree packing

Steiner tree packing: decompose the network into weighted steiner trees, such that the total tree weight is maximized, and the capacity constraints are not violated.

a a a b b b a+b a+b a+b

m1 m0 m2 m3

a a b c d i d e f g h afghi abcdi a a b c d i bdefh befgh a a c e g i cefgh

m1 m0 m2 m3

(a) steiner tree packing and multicast without coding. (b) multicast with network coding.

The achievable optimal throughput is 1.8 without coding, and 2 with

coding.

slide-13
SLIDE 13

Steiner tree packing

For fractional routing, Steiner tree packing is NP-complete, with the best polynomial time approximation ratio of ~ 1.55 (Robins et al., SODA 2000). Even worse for integral routing: 26 (Lau, FOCS 2004, unknown before this paper) In practice, it can not be used to maximize throughput

slide-14
SLIDE 14

The coding advantage: the ratio of achievable throughput with network coding and that without coding (steiner tree packing)

slide-15
SLIDE 15

W e have proved that [CISS 2004], in fractional or half-integral routing: The coding advantage of a single unicas session and of a single broadcast session is one. The coding advantage of a single multicas session is upper bounded by 2. W e have conjectured that [Allerton 2004]: The coding advantage of multiple unicas sessions (allowing inter-session coding) is also

  • ne.
slide-16
SLIDE 16

Steiner Strength

Partition of the network: there exists at least one source or receiver node in each component of the partition. Steiner strength: P: set of all partitions : total inter-component link capacity

s minp∈P |Ec|/(|p| − 1) re |Ec|

cefgh

m3 m1 m0 m2

slide-17
SLIDE 17

Maximum throughput

Maximum throughput: maximum information flow rate from a source to a group of receivers concurrently, with fractional routing W e have proved that [CISS 2004]: achievable throughput with steiner tree packing maximum throughput steiner strength Both steiner tree packing and steiner strength is NP-hard Maximum throughput [INFOCOM

2005]

) ≤ ) ≤

e ∈ P

slide-18
SLIDE 18

How to design an efficient algorithm to compute the maximum throughput?

slide-19
SLIDE 19

Conceptual Flows

The power of network coding resides in its ability to resolve competition for link capacities Rather than considering a multicast flow, we consider unicast flows from source to each of the receivers Conceptual Flows: network flows that co-exist in the network without contending for link capacities

slide-20
SLIDE 20

Conceptual Flows vs. Commodity Flows

50 100 150 200 2 20 10 15 5 Conceptual flows Commodity flows Achievable throughput (Kbps) Number of nodes in the multicast group (|M|)

slide-21
SLIDE 21

Orientation of a network

Orientation of an undirected network is a strategy of replacing each undirected link with two directed arcs, without violating the capacity constraint:

u v u v

e a1 a2

  • rientation

that C ( e)

=

C ( a 1)

+

C ( a 2) , ∀e ∈ E .

slide-22
SLIDE 22

The cFlow LP

Maximize: f ∗ Subject to:

Orientation constraints:

C( a) ∀a ∈ D C( a1)

+ C( a2) =

C( e) ∀e ∈ E

Independent network flow constraints for each conceptual flow:

           ≤ f i ( a) ∀i ∈ [ 1 ..k], ∀a ∈ D f i ( a) ≤ C( a) ∀i ∈ [ 1 ..k], ∀a ∈ D f i

i n ( v)

=

f i

  • ut ( v)

∀i ∈ [ 1 ..k], ∀v ∈ V − {m0, mi } f i

i n ( m0)

=

∀i ∈ [ 1 ..k] f i

  • ut ( mi )

=

∀i ∈ [ 1 ..k]

Equal rate constraints:

f ∗

=

f i

i n ( mi )

∀i ∈ [ 1 ..k]

slide-23
SLIDE 23

The Complete Solution

Computing the coding strategies: polynomial time algorithm of code assignment [Sanders e al., SPAA 2003] The complete solution that achieves maximum throughput in undirected networks with a single multicast session can be computed in polynomial time, including both routing and coding strategies.

slide-24
SLIDE 24

Let us put it to good use

Uniform Bipartite Networks: conjectured to be good candidates to show the power of coding

  • n improving throughput

C(n, k): consists of the source and two layers, one with n relay nodes and the other with receivers. Each relay node is connected to the sender, and each receiver is connected to a different group of k relay

  • nodes. All link capacities are one.

ith n

k

slide-25
SLIDE 25

Uniform Bipartite Networks

The uniform bipartite network C (4, 3).

slide-26
SLIDE 26

cFlow LP vs. steiner tre packing: a comparison

Network |V | |M| |E| χ(N) π(N)

χ(N) π(N)

# of trees

  • Fig. 1

7 3 9 2 1.875 1.067 17 C(3, 2) 7 4 9 2 1.8 1.111 26 C(4, 3) 9 5 16 3 2.667 1.125 1,113 C(4, 2) 11 7 16 2 1.778 1.125 1,128 C(5, 4) 11 6 25 4 3.571 1.12 75,524 C(5, 2) 16 11 25 2 1.786 1.12 119,104 C(5, 3) 16 11 35 3 – – 49,956,624

slide-27
SLIDE 27

Good and bad news

Good news: the polytime cFlow LP is much more computationally feasible; Bad news: the coding advantage with a single multicast session in thousands of randomly chosen network topologies is one. Except for the cases of uniform bipartit networks.

slide-28
SLIDE 28

Does network coding really help?

It does not help much with respect to improving the maximum achievable throughput It does help to reduce the complexity of computing routing strategies

slide-29
SLIDE 29

Complexity: multicast with fractional routing

Problem: computing maximum multicast rate in an undirected network, with fractional routing Without coding: fractional steiner tree packing, NP-complete. With coding: transform into a LP problem, P .

slide-30
SLIDE 30

Complexity: multicast with integral routing

Problem: computing maximum multicast rate with in an undirected network, with integral routing Without coding: integral steiner tree packing,

  • nly polytime approximation known: 26-

approximation [Lau, FOCS 2004] With network coding: 2-approximation [CISS 2004]

slide-31
SLIDE 31

Towards efficient and distributed computation of the cFlow LP

Performance of general LP solvers is not good, as the cFlow LP has O(km) number of variables and O(km) number of constraints, k is the number of receivers, and m is the number of links Experimented with: Interior Point method: can handle m = 1000, and k = 10 Simplex method: scalability much worse

slide-32
SLIDE 32

Primal cFlow LP: revisited

Maximize χ Subject to:

              

χ ≤ fi(

TiS) ∀i (1) fi(

uv) ≤ c(

uv) ∀i, ∀

uv=

TiS (2)

  • v∈N(u) fi(

uv) =

v∈N(u) fi( →

vu) ∀i, ∀u (3) c(

uv) + c(

vu) ≤ C(uv) ∀uv = TiS (4) c(

uv), fi(

uv), χ ≥ 0, ∀i, ∀

uv

slide-33
SLIDE 33

Dual cFlow LP

Minimize

  • uv C(uv)x(uv)

Subject to:

              

x(uv) ≥

  • i yi(

uv) ∀uv = TiS (5) yi(

uv) + pi(v) ≥ pi(u) ∀i, ∀

uv=

TiS (6) pi(Ti) − pi(S) ≥ zi ∀i (7)

  • i zi ≥ 1

(8) x(uv), yi(

uv), zi ≥ 0 ∀i, ∀

uv

primal (1) (2) (3) (4) c f(

uv) f(

TiS) χ dual z y p x (5) (6) (7) (8)

slide-34
SLIDE 34

Subgradient algorithm: dualization strategy

Applying Lagrangian relaxation on the constraint (5) in the dual program (primal subgradient) Decomposes the entire problem into a sequence of max-flow/min-cut computations Allows a decentralized implementation

slide-35
SLIDE 35

(1) Choose initial orientation (e.g., balanced orientation) (2) Repeat Compute S→Ti max-flow, ∀i Refine orientation: increase bandwidth share for saturated links decrease bandwidth share for under-utilized links Until convergence → optimal orientation obtained (3) Compute S→Ti max-flow, ∀i → optimal multicast rate and routing strategy obtained (4) Randomized code assignment → complete transmission strategy obtained

slide-36
SLIDE 36

4 4 4 4 4 4 4 4 8 8 1 1 1 1 1 1

S T1 T2

4 4 4 4 4 4 8 8

2.5 1.5 2.5 1.5 0.5 0.5 0.5 0.5

S T1

1 1 1 1

T2

(a)

4 1.5 4 8 8

1.5 2.5 0.5 0.5

S T1

1 1

T2

0.5 0.5 2.5

(b)

4 4 4 4 4

2.5

2.5 1.5 0.5 0.5

S T1

1 1

T2

0.5 0.5 5.5

(c)

slide-37
SLIDE 37

8 9 10 11 12 13 14 15 20 40 60 80 100 Iteration number Multicast rate (Kbps)

slide-38
SLIDE 38

4! "! 5! 4!! "!! 5!! 4!!! 4!

4

4!

!

4!

4

4!

"

4!

9

4!

#

()**+*,-.+/0-123

>)?,6=@+0*.-=A,;B CDE-+*.06+;6-F;+*. >.0+*06-.600-F=7G+*,

slide-39
SLIDE 39

Extensions

The case of multiple multicast sessions (without inter-session coding) The case of overlay networks: only a subset of the nodes (the end hosts) may be able to replicate and code data In both cases, the corresponding problem can be formulated as LP problem, with a polynomial number of variables and constraints

slide-40
SLIDE 40

From theory to practice

slide-41
SLIDE 41

From theory to reality

Coding in GF(256) Random code assignment Start with a high quality mesh Distributed computation of flow routing strategy (with network coding)

slide-42
SLIDE 42

Application-layer message switch

receiver buffer1 receiver buffer receiver buffer 2 receiver buffer receiver buffer 3 receiver buffer

flow 1 messages flow 2 messages flow 3 messages

From upstream nodes sender buffer A sender buffer sender buffer B sender buffer sender buffer C sender buffer

flow B coded messages flow C coded messages flow A coded messages

To downstream nodes Coding Algorithm

m-to-1 mapping 1-to-n mapping

slide-43
SLIDE 43

A long way to go

Penalty of synchrony: flows have to wait for

  • ther incoming flows to be encoded or

decoded Link capacities often unknown Decoding efficiency is a concern, if we use network coding on large volume of data

slide-44
SLIDE 44

Towards better decoding efficiency

single sessio multiple sessions (w/ intersession coding) integral routing linear coding is sufficient nonlinear coding required actional routing linear coding is sufficient [?] [?] Conjecture, Sec. 3, Medard, Effros, Karger, Ho, “O Coding for Non-multicast Networks,” Allerton 2003. [*] Zongpeng Li, Baochun Li, untitled, tech. report in preparation. XOR only coding is sufficient [*]

slide-45
SLIDE 45

S T1 T2 T3 T4 T5 T6

x y x y ?

slide-46
SLIDE 46

S T1 T2 T3 T4 T5 T6

x y x+y 2x+y x y x x+y x 2x+y y x+y y 2x+y 2x+y x+y

slide-47
SLIDE 47

S T1 T2 T3 T4 T5 T6 x1 x2 x2 x3 + x3 x4 + x3 x4 x4 x1 + x1 x2 + x1 x2 x3 + x2 x3 x4 + x1 x2 x3 + x1 x2 x3 + x3 x1 x2 + x2 x3 x4 + x3 x2 x3 x + x4 x1 x2 +

4

x3 x4 x4 x1 + x1 x2 + x4 x1 + x4 x4 x1 +

slide-48
SLIDE 48

Papers that this talk is based on

Zongpeng Li, Baochun Li, Dan Jiang, Lap Chi Lau. “On Achieving Optimal Throughput with Network Coding,” INFOCOM 2005. Zongpeng Li, Baochun Li. “Efficient and Distributed Computation of Maximum Multicast Rates,” INFOCOM 2005. Zongpeng Li, Baochun Li. “Network Coding in Undirected Networks,” CISS 2004. Mea W ang, Baochun Li, Zongpeng Li. “Implementing Networ Coded Flows,” in preparation for submission. Zongpeng Li, Baochun Li. “Network Coding: The Case of Multipl Unicast Sessions,” Allerton 2004. Zongpeng Li, Baochun Li. untitled, in preparation for submission.

slide-49
SLIDE 49

Zongpeng Li, Baochun Li ECE, University of Toronto google “Baochun”

slide-50
SLIDE 50

Empirical Studies

slide-51
SLIDE 51

Unicast, standard multicast and

  • verlay multicast

50 100 150 200 250 300 350 400 450 500 5 10 15 20 25 30 35

Number of nodes in the network Optimal throughput (Kbps)

(a) Size of multicast group = 3

50 100 150 200 250 300 350 400 450 500 5 10 15 20 25 30 35

Number of nodes in the network Optimal throughput (Kbps)

(b) Size of multicast group = 10 Standard multicast Overlay multicast All unicast

slide-52
SLIDE 52

How sensitive is optimal throughput to node joins?

20 25 30 35 40 45 50 55 60 65 5 10 15 20 25 30 35 40 45

Number of nodes in the network Optimal throughput (Kbps) (a) Heavytailed link capacity

20 25 30 35 40 45 50 55 60 65 5 10 15 20 25 30

Number of nodes in the network Optimal throughput (Kbps) (b) Constant link capacity

|M|=3 |M|=|V|/2 |M|=|V|

slide-53
SLIDE 53

How sensitive is optimal throughput to new sessions?

5 10 15 20 25

Number of sessions = 2

12 14 16 18 20 50 100 200 300 500 5 10 15 20 25

Number of sessions = 3

12 14 16 18 20 50 100 200 300 500

Optimal throughput (Kbps)

5 10 15 20 25

Number of sessions = 4

12 14 16 18 20 50 100 200 300 500 5 10 15 20 25

Number of sessions = 5

12 14 16 18 20 50 100 200 300 500

Number of nodes in the network Optimal throughput (Kbps) prev optimal incremental reoptimized

slide-54
SLIDE 54

How sensitive is optimal throughput to fairness?

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1 20 40 60 80 100 120

W1 W2 Total throughput of 3 sessions (Kbps)

network size 10 50 100 150 250 350 max-min (Kbps) 120.0 173.3 160.0 146.7 146.7 183.3

  • ptimal (Kbps)

126.1 173.3 160.0 146.7 146.7 183.3

slide-55
SLIDE 55

Does optimal throughput lead to low bandwidth efficiency?

Bandwidth efficiency: total receiving rate at all receivers divided by total bandwidth consumption